CreateConnector - AWS Transfer Family

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

CreateConnector

创建连接器,用于捕获 AS2 协议出站连接的参数。发送文件到外部托管的 AS2 服务器时需要使用连接器。对于 SFTP,向 SFTP 服务器发送文件或从 SFTP 服务器接收文件时,需要连接器。有关连接器的更多详细信息,请参阅配置 AS2 连接器和创建 SFTP 连接器。

注意

您必须只指定一个配置对象:用于 AS2 (As2Config) 或 SFTP (SftpConfig)。

请求语法

{ "AccessRole": "string", "As2Config": { "BasicAuthSecretId": "string", "Compression": "string", "EncryptionAlgorithm": "string", "LocalProfileId": "string", "MdnResponse": "string", "MdnSigningAlgorithm": "string", "MessageSubject": "string", "PartnerProfileId": "string", "SigningAlgorithm": "string" }, "LoggingRole": "string", "SecurityPolicyName": "string", "SftpConfig": { "TrustedHostKeys": [ "string" ], "UserSecretId": "string" }, "Tags": [ { "Key": "string", "Value": "string" } ], "Url": "string" }

请求参数

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

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

AccessRole

连接器用于使用 AS2 或 SFTP 协议发送文件。对于访问角色,请提供要使用的 AWS 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 中的 AWS 托管密钥对密钥进行加密,则该角色还需要该密钥的kms:Decrypt权限。

对于 SFTP 连接器

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

类型:字符串

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

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

必需:是

As2Config

包含连接器对象参数的结构。

类型:As2ConnectorConfig 对象

必需:否

LoggingRole

(IAM) 角色的亚马逊资源名称 AWS Identity and Access Management (ARN),它允许连接器开启对 Amazon S3 CloudWatch 事件的日志记录。设置后,您可以在 CloudWatch 日志中查看连接器活动。

类型:字符串

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

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

必需:否

SecurityPolicyName

为连接器指定安全策略的名称。

类型:字符串

长度限制:长度下限为 0。最大长度为 100。

模式:TransferSFTPConnectorSecurityPolicy-[A-Za-z0-9-]+

必需:否

SftpConfig

包含 SFTP 连接器对象参数的结构。

类型:SftpConnectorConfig 对象

必需:否

Tags

可用于分组和搜索连接器的键/值对。标签是出于任何目的附加到用户的元数据。

类型:Tag 对象数组

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

必需:否

Url

合作伙伴的 AS2 或 SFTP 端点的 URL。

类型:字符串

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

必需:是

响应语法

{ "ConnectorId": "string" }

响应元素

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

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

ConnectorId

AS2 配置文件的唯一标识符,将在 API 调用成功后返回。

类型:字符串

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

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

错误

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

InternalServiceError

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

HTTP 状态代码:500

InvalidRequestException

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

HTTP 状态代码:400

ResourceExistsException

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

HTTP 状态代码:400

ResourceNotFoundException

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

HTTP 状态代码:400

ServiceUnavailableException

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

HTTP 状态代码:500

ThrottlingException

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

HTTP 状态代码:400

示例

示例

以下示例创建 AS2 连接器。在以下命令中,替换以下项目:

  • url:提供贸易伙伴的 AS2 服务器 URL。

  • your-IAM-role-for-bucket-access:IAM 角色,具有您将用于存储文件的 Amazon S3 存储桶访问权限。

  • 使用 ARN 作为您的日志角色,其中包括您 AWS 账户 的 ID。

  • 提供包含 AS2 连接器配置参数的文件路径。AS2 连接器配置对象在 A s ConnectorConfig 2 中进行了描述。

// Listing for testAs2Config.json { "LocalProfileId": "your-profile-id", "PartnerProfileId": "partner-profile-id", "MdnResponse": "SYNC", "Compression": "ZLIB", "EncryptionAlgorithm": "AES256_CBC", "SigningAlgorithm": "SHA256", "MdnSigningAlgorithm": "DEFAULT", "MessageSubject": "Your Message Subject" }
aws transfer create-connector --url "http://partner-as2-server-url" \ --access-role your-IAM-role-for-bucket-access \ --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \ --as2-config file://path/to/testAS2Config.json

示例

以下示例创建 AS2 连接器。在以下命令中,替换以下项目:

  • sftp-server-url:提供您正在与之交换文件的 SFTP 服务器 URL。

  • your-IAM-role-for-bucket-access:IAM 角色,具有您将用于存储文件的 Amazon S3 存储桶访问权限。

  • 使用 ARN 作为您的日志角色,其中包括您 AWS 账户 的 ID。

  • 提供包含 AS2 连接器配置参数的文件路径。Conf SftpConnectorig 中描述了 SFTP 连接器配置对象。

// Listing for testSFTPConfig.json { "UserSecretId": "arn:aws:secretsmanager:us-east-2:123456789012:secret:aws/transfer/example-username-key", "TrustedHostKeys": [ "sftp.example.com ssh-rsa AAAAbbbb...EEEE=" ] }
aws transfer create-connector --url "sftp://sftp-server-url" \ --access-role your-IAM-role-for-bucket-access \ --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \ --sftp-config file://path/to/testSFTPConfig.json

示例

API 调用返回新连接器的 ID。

示例响应

{ "ConnectorId": "a-11112222333344444" }

另请参阅

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