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 资源名称 (ARNs)。如果您正在设置无代理跨云传输,则无需为此参数指定值。

注意

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

类型:字符串数组

数组成员:最少 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,但未使用CmkSecretConfig或提供密钥配置详细信息CustomSecretConfig,则使用您 AWS 账户的 Secrets Manager 密钥 DataSync 存储令牌。

类型:字符串

长度约束:最小长度为 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 版本 4 (IPv4) 地址。

类型:字符串

长度限制:长度上限为 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

另请参阅

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