CreateLocationS3 - AWS DataSync

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

CreateLocationS3

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

重要

创建位置之前,请确保阅读以下部分:

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

请求语法

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

请求参数

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

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

AgentArns

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

类型:字符串数组

数组成员:最少 1 项。4 4 4 4 4 4 4 4 4 4 4 4 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}$

必需:否

S3BucketArn

Amazon S3 存储桶的 ARN。如果存储桶位于AWS前哨基地,则必须是接入点 ARN。

类型:字符串

长度156:长度156 156。

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

必需:是

S3Config

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

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

类型:S3Config 对象

必需:是

S3StorageClass

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

有关 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 目标。

类型:字符串

长度4096。

模式:^[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

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

HTTP 状态代码:500

InvalidRequestException

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

HTTP 状态代码:400

示例

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

以下示例显示了最简单的策略,该策略授予AWS 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中的。

您无需创建该策略。它由管理AWS,因此您只需在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" }

另请参阅

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