本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 的更多信息,请参阅以下内容: