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

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

CreateLocationS3

位置是 Amazon S3 桶的终端节点。 Amazon DataSync可以使用该位置作为复制数据的源或目标。

重要

有关更多信息,请参阅创建 Amazon S3 位置

请求语法

{ "AgentArns": [ "string" ], "S3BucketArn": "string", "S3Config": { "BucketAccessRoleArn": "string" }, "S3StorageClass": "string", "Subdirectory": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

请求参数

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

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

AgentArns

如果您在Amazon Outpost DataSync 上使用,请指定部署在您的 Outpost 上的 DataSync 代理的亚马逊资源名称 (ARN)。有关在 Outpos DataSync t 上启动代理的更多信息,请参阅在Amazon Outpos DataSync t 上部署代理Amazon Outposts

类型:字符串数组

数组成员:最少 1 项。最最最最最最最最最最最最。

长度约束:最大长度为 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}$

必需:否

S3BucketArn

Amazon S3 存储桶的 ARN。如果存储桶位于Amazon Outpost 上,则必须是接入点 ARN。

类型:字符串

长度度度度度度度度度度度度度度度度

模式:^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$

必需:是

S3Config

Amazon Identity and Access Management(IAM)角色用于访问 Amazon S3 桶的 Amazon 资源名称(ARN)。

有关使用此类角色的详细信息,请参阅《Amazon DataSync 用户指南》中的为 Amazon S3 创建位置

类型:S3Config 对象

必需:是

S3StorageClass

在将此位置用作任务目标时,您希望在其中存储文件的 Amazon S3 存储类。对于中的桶Amazon Web Services 区域,默认存储类为 “标准”。对于开桶Amazon Outposts,默认存储类为 “AmazonS3 项项 Outposts。

有关 S3 存储类的更多信息,请参阅 Amazon S3 存储类。有些存储类别的行为会影响您的 S3 存储成本。有关详细信息,请参阅中使用 S3 存储类时的注意事项 DataSync

类型:字符串

有效值: STANDARD | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | OUTPOSTS | GLACIER_INSTANT_RETRIEVAL

必需:否

Subdirectory

Amazon S3 存储桶中的子目录。Amazon S3 中的此子目录用于从 S3 源位置读取数据或将数据写入 S3 目标。

类型:字符串

长度度度度度度度度度度度度度度度度度度

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

必需:否

Tags

表示要添加到位置的标签的键值对。该值可为空字符串。建议您使用标签来命名资源。

类型:TagListEntry 对象数组

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

必需:否

响应语法

{ "LocationArn": "string" }

响应元素

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

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

LocationArn

创建源 Amazon S3 桶的 Amazon 资源名称(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

当Amazon DataSync服务中发生错误时,会抛出此异常。

HTTP 状态代码:500

InvalidRequestException

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

HTTP 状态代码:400

示例

第 1 步 允许担任写入存储桶所需的 IAM 角色。

以下示例显示了最简单的策略,该策略授予Amazon DataSync访问目标 Amazon S3 存储桶所需的权限,然后是已附加该create-location-s3-iam-role策略的 IAM 角色。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
"Role": { "Path": "/", "RoleName": "MyBucketAccessRole", "RoleId": "role-id", "Arn": "arn:aws:iam::account-id:role/MyBucketAccessRole", "CreateDate": "2018-07-27T02:49:23.117Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } }

第 2 步 允许创建的 IAM 角色写入存储桶。

将具有足够权限访问存储桶的策略附加给该角色。此类策略的一个示例是AWSDataSyncFullAccess托管策略。

有关更多信息,请参阅 IAM 控制台AWSDataSyncFullAccess中的在 IAM 控制台中。

您无需创建此策略。它由管理Amazon,因此您只需在attach-role-policy命令中指定其 ARN 即可。

IAM_POLICY_ARN='arn:aws:iam::aws:policy/AWSDataSyncFullAccess'

第 3 步 为 Amazon S3 存储桶创建终端节点。

以下示例为 Amazon S3 存储桶创建终端节点。

创建 S3 终端节点时,类似于以下第二个示例的响应会返回新 Amazon S3 位置的亚马逊资源名称 (ARN)。

示例请求

{ "S3BucketArn": "arn:aws:s3:::MyBucket", "S3Config": { "BucketAccessRoleArn": "arn:aws:iam::111222333444:role/MyBucketAccessRole", }, "S3StorageClass": "STANDARD", "Subdirectory": "/MyFolder", "Tags": [ { "Key": "Name", "Value": "s3Bucket-1" } ] }

示例响应

{ "LocationArn": "arn:aws:datasync:us-east-2:111222333444:location/loc-07db7abfc326c50s3" }

另请参阅

有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: