CreateAgreement - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CreateAgreement

创建协议。协议是 Amazon Transfer Family 服务器和 AS2 流程之间的双边贸易伙伴协议或伙伴关系。该协议定义了服务器与 AS2 进程之间的文件和消息传输关系。为了定义协议,Transfer Family 结合了服务器、本地配置文件、合作伙伴配置文件、证书和其他属性。

合作伙伴以 PartnerProfileId 识别,AS2 进程则以 LocalProfileId 标识。

请求语法

{ "AccessRole": "string", "BaseDirectory": "string", "Description": "string", "LocalProfileId": "string", "PartnerProfileId": "string", "ServerId": "string", "Status": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

请求参数

有关所有操作的通用参数的信息,请参阅通用参数

请求接受采用 JSON 格式的以下数据。

AccessRole

连接器用于使用 AS2 或 SFTP 协议发送文件。对于访问角色,请提供要使用的 Amazon Identity and Access Management 角色的 Amazon 资源名称 (ARN)。

对于 AS2 连接器

借助 AS2,您可以通过调用 StartFileTransfer 并在请求参数中指定文件路径 SendFilePaths 来发送文件。我们使用文件的父目录(例如 --send-file-paths /bucket/dir/file.txt,父目录是 /bucket/dir/)来临时存储经过处理的 AS2 消息文件,存储 MDN(当从合作伙伴那里收到时),以及写入包含传输相关元数据的最终 JSON 文件。因此,AccessRole 需要提供对 StartFileTransfer 请求中所使用文件位置父目录的读取和写入权限。此外,您还需要提供对您想要使用 StartFileTransfer 发送的文件父目录的读取和写入权限。

如果您对 AS2 连接器执行基本身份验证,则访问角色需要密钥secretsmanager:GetSecretValue权限。如果使用客户管理的密钥而不是 Secrets Manager 中的 Amazon 托管密钥对密钥进行加密,则该角色还需要该密钥的kms:Decrypt权限。

对于 SFTP 连接器

因此, 确保提供对 StartFileTransfer 请求中所使用文件位置父目录的读取和写入权限。此外,请确保该角色向提供secretsmanager:GetSecretValue权限 Amazon Secrets Manager。

类型:字符串

长度约束:最小长度为 20。最大长度为 2048。

模式:arn:.*role/\S+

必需:是

BaseDirectory

使用 AS2 协议传输的文件的登录目录(文件夹)。

BaseDirectory 示例为 /DOC-EXAMPLE-BUCKET/home/mydirectory

类型:字符串

长度约束:最小长度为 0。最大长度为 1024。

模式:(|/.*)

必需:是

Description

用于识别协议的名称或简短描述。

类型:字符串

长度限制:最小长度为 1。最大长度为 200。

模式:[\p{Graph}]+

必需:否

LocalProfileId

AS2 本地配置文件的唯一标识符。

类型:字符串

长度限制:固定长度为 19。

模式:p-([0-9a-f]{17})

必需:是

PartnerProfileId

协议中使用的合作伙伴配置文件的唯一标识符。

类型:字符串

长度限制:固定长度为 19。

模式:p-([0-9a-f]{17})

必需:是

ServerId

服务器实例的系统分配的唯一标识符。此标识符表示协议使用的特定服务器。

类型:字符串

长度限制:固定长度为 19。

模式:s-([0-9a-f]{17})

必需:是

Status

组件的状态。协议可以是ACTIVEINACTIVE

类型:字符串

有效值:ACTIVE | INACTIVE

必需:否

Tags

可用于分组和搜索协议的键/值对。

类型:Tag 对象数组

数组成员:最少 1 个物品。最多 50 项。

必需:否

响应语法

{ "AgreementId": "string" }

响应元素

如果此操作成功,则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

AgreementId

字段的唯一标识符。使用此 ID 删除或者更新协议,以及用于要求您指定协议 ID 的任何其他 API 调用。

类型:字符串

长度限制:固定长度为 19。

模式:a-([0-9a-f]{17})

错误

有关所有操作的常见错误信息,请参阅常见错误

InternalServiceError

当 Amazon Transfer Family 服务中发生错误时,会引发此异常。

HTTP 状态代码:500

InvalidRequestException

当客户端提交格式错误的请求时,会引发此异常。

HTTP 状态代码:400

ResourceExistsException

请求的资源不存在,或者存在于为命令指定的区域以外的区域。

HTTP 状态代码:400

ResourceNotFoundException

当 Transfer Family 服务找不到资源时,就会 Amazon引发此异常。

HTTP 状态代码:400

ServiceUnavailableException

请求失败,因为 Trans Amazon fer Family 服务不可用。

HTTP 状态代码:500

ThrottlingException

由于请求限制而导致请求被拒绝。

HTTP 状态代码:400

示例

示例

以下示例创建了协议,并返回协议 ID。

aws transfer create-agreement --server-id s-021345abcdef6789 --local-profile-id p-1234567890abcdef0 --partner-profile-id p-abcdef01234567890 --base-folder /DOC-EXAMPLE-BUCKET/AS2-files --access-role arn:aws:iam::111122223333:role/AS2-role

示例响应

API 调用返回新协议的 ID。

{ "AgreementId": "a-11112222333344444" }

另请参阅

有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: