本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
-
组件的状态。协议可以是
ACTIVE
或INACTIVE
。类型:字符串
有效值:
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 的更多信息,请参阅以下内容: