CreateLocationObjectStorage - AWS DataSync

CreateLocationObjectStorage

为对象存储系统创建传输位置。AWS DataSync 可以将此位置用作传输数据的源或目标。无论是否使用 DataSync 代理,都可以进行传输。

在开始之前,请确保您了解 DataSync 与对象存储系统协同工作的先决条件

请求语法

{ "AccessKey": "string", "AgentArns": [ "string" ], "BucketName": "string", "CmkSecretConfig": { "KmsKeyArn": "string", "SecretArn": "string" }, "CustomSecretConfig": { "SecretAccessRoleArn": "string", "SecretArn": "string" }, "SecretKey": "string", "ServerCertificate": blob, "ServerHostname": "string", "ServerPort": number, "ServerProtocol": "string", "Subdirectory": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

请求参数

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

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

AccessKey

如果需要凭证来向对象存储服务器进行身份验证,则指定访问密钥(例如,用户名)。

类型:字符串

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

模式:^.*$

必需:否

AgentArns

(可选)指定可与对象存储系统连接的 DataSync 代理的 Amazon 资源名称(ARN)。如果设置的是无代理跨云传输,则无需为此参数指定值。

注意

首次创建存储位置时,务必确保正确配置此参数。创建代理后,就无法在存储位置添加或删除代理。

类型:字符串数组

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

长度限制:最大长度为 128。

模式:^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:agent/agent-[0-9a-z]{17}$

必需:否

BucketName

指定传输中涉及的对象桶的名称。

类型:字符串

长度约束:最小长度为 3。最大长度为 63。

模式:^[a-zA-Z0-9_\-\+\.\(\)\$\p{Zs}]+$

必需:是

CmkSecretConfig

指定 DataSync 托管密钥的配置信息,包括 DataSync 用于通过客户管理的 AWS KMS key 访问特定对象存储位置的 SecretKey

当在 CreateLocationObjectStorage 请求中包含此参数时,仅提供 KMS 密钥 ARN 即可。DataSync 使用此 KMS 密钥以及为 SecretKey 参数指定的值来创建 DataSync 托管密钥,用于存储位置访问凭证。

确保 DataSync 有权访问所指定的 KMS 密钥。

注意

可使用 CmkSecretConfig(带有 SecretKey)或 CustomSecretConfig(不带 SecretKey)为 CreateLocationObjectStorage 请求提供凭证。不要为同一个请求提供这两个参数。

类型:CmkSecretConfig 对象

必需:否

CustomSecretConfig

指定客户管理的 Secrets Manager 密钥的配置信息,其中特定对象存储位置的密钥以明文形式存储。此配置包括密钥 ARN,以及提供密钥访问权限的 IAM 角色的 ARN。

注意

可使用 CmkSecretConfig(带有 SecretKey)或 CustomSecretConfig(不带 SecretKey)为 CreateLocationObjectStorage 请求提供凭证。不要为同一个请求提供这两个参数。

类型:CustomSecretConfig 对象

必需:否

SecretKey

如果需要凭证来向对象存储服务器进行身份验证,则指定私有密钥(例如,密码)。

注意

如果使用 SecretKey 提供密钥,但未使用 CmkSecretConfigCustomSecretConfig 提供密钥配置详细信息,则 DataSync 会使用 AWS 账户的 Secrets Manager 密钥存储令牌。

类型:字符串

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

模式:^.*$

必需:否

ServerCertificate

如果对象存储系统使用私有或自签名证书颁发机构(CA),则指定 DataSync 用于与对象存储系统进行身份验证的证书链。您必须指定具有完整证书链的单个 .pem 文件(例如,file:///home/user/.ssh/object_storage_certificates.pem)。

证书链可能包括:

  • 对象存储系统的证书

  • 所有中间证书(如果有)

  • 签名 CA 的根证书

您可以将证书串联到一个 .pem 文件中(在进行 base64 编码前,文件最大长度可以为 32768 字节)。以下示例 cat 命令创建了一个包含三个证书的 object_storage_certificates.pem 文件:

cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem

要使用此参数,请配置 ServerProtocolHTTPS

类型:Base64 编码的二进制数据对象

长度约束:最大长度为 32768。

必需:否

ServerHostname

指定要连接 DataSync 代理的对象存储服务器的域名或 IP 地址(IPv4 或 IPv6)。

类型:字符串

长度限制:长度上限为 255。

模式:^(([a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9\-:]*[A-Za-z0-9])$

必需:是

ServerPort

指定对象存储服务器接受入站网络流量的端口(例如,端口 443)。

类型:整数

有效范围:最小值为 1。最大值为 65536。

必需:否

ServerProtocol

指定对象存储服务器通信时使用的协议。如果未指定,则默认值为 HTTPS

类型:字符串

有效值:HTTPS | HTTP

必需:否

Subdirectory

指定对象存储服务器的对象前缀。如果这是源位置,则 DataSync 仅复制具有此前缀的对象。如果这是目标位置,则 DataSync 将写入具有此前缀的所有对象。

类型:字符串

长度约束:最大长度为 4096。

模式:^[a-zA-Z0-9_\-\+\./\(\)\p{Zs}]*$

必需:否

Tags

指定表示要添加到资源的标签的键值对。标签可帮助您管理、筛选和搜索资源。我们建议为您的位置创建一个名称标签。

类型:TagListEntry 对象数组

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

必需:否

响应语法

{ "LocationArn": "string" }

响应元素

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

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

LocationArn

指定您创建的对象存储系统位置的 ARN。

类型:字符串

长度限制:最大长度为 128。

模式:^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$

错误

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

InternalException

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

HTTP 状态代码:500

InvalidRequestException

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

HTTP 状态代码:400

另请参阅

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