CreateTask
配置任务,在其中定义 AWS DataSync 传输数据的位置和方式。
任务包括源位置、目标位置和传输选项(如带宽限制、时间计划等)。
重要
如果您计划向或从某个 Amazon S3 位置传输数据,请在开始之前先查看DataSync 会如何影响您的 S3 请求费用以及DataSync 定价页面
请求语法
{
"CloudWatchLogGroupArn": "string",
"DestinationLocationArn": "string",
"Excludes": [
{
"FilterType": "string",
"Value": "string"
}
],
"Includes": [
{
"FilterType": "string",
"Value": "string"
}
],
"ManifestConfig": {
"Action": "string",
"Format": "string",
"Source": {
"S3": {
"BucketAccessRoleArn": "string",
"ManifestObjectPath": "string",
"ManifestObjectVersionId": "string",
"S3BucketArn": "string"
}
}
},
"Name": "string",
"Options": {
"Atime": "string",
"BytesPerSecond": number,
"Gid": "string",
"LogLevel": "string",
"Mtime": "string",
"ObjectTags": "string",
"OverwriteMode": "string",
"PosixPermissions": "string",
"PreserveDeletedFiles": "string",
"PreserveDevices": "string",
"SecurityDescriptorCopyFlags": "string",
"TaskQueueing": "string",
"TransferMode": "string",
"Uid": "string",
"VerifyMode": "string"
},
"Schedule": {
"ScheduleExpression": "string",
"Status": "string"
},
"SourceLocationArn": "string",
"Tags": [
{
"Key": "string",
"Value": "string"
}
],
"TaskMode": "string",
"TaskReportConfig": {
"Destination": {
"S3": {
"BucketAccessRoleArn": "string",
"S3BucketArn": "string",
"Subdirectory": "string"
}
},
"ObjectVersionIds": "string",
"OutputType": "string",
"Overrides": {
"Deleted": {
"ReportLevel": "string"
},
"Skipped": {
"ReportLevel": "string"
},
"Transferred": {
"ReportLevel": "string"
},
"Verified": {
"ReportLevel": "string"
}
},
"ReportLevel": "string"
}
}
请求参数
有关所有操作的通用参数的信息,请参阅常用参数。
请求接受采用 JSON 格式的以下数据。
- CloudWatchLogGroupArn
-
指定 Amazon CloudWatch 日志组的 Amazon 资源名称(ARN),用于监控任务。
对于增强模式任务,不需要指定任何内容。DataSync 会自动向名为
/aws/datasync的 CloudWatch 日志组发送日志。有关更多信息,请参阅使用 CloudWatch Logs 监控数据传输。
类型:字符串
长度约束:最大长度为 562。
模式:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\-0-9]+:[0-9]{12}:log-group:([^:\*]*)(:\*)?$必需:否
- DestinationLocationArn
-
指定传输目标位置的 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}$必需:是
- Excludes
-
指定排除筛选条件,以定义您不希望 DataSync 从源位置传输的文件、对象和文件夹。有关详细信息和示例,请参阅使用筛选条件指定 DataSync 传输的内容。
类型:FilterRule 对象数组
数组成员:最少 0 个物品。最多 1 项。
必需:否
- Includes
-
指定包含筛选条件,以定义您希望 DataSync 从源位置传输的文件、对象和文件夹。有关详细信息和示例,请参阅使用筛选条件指定 DataSync 传输的内容。
类型:FilterRule 对象数组
数组成员:最少 0 个物品。最多 1 项。
必需:否
- ManifestConfig
-
配置清单,即您希望 DataSync 传输的文件或对象的列表。有关详细信息和配置示例,请参阅使用清单指定 DataSync 传输的内容。
使用此参数时,您的调用者身份(您用于 DataSync 的角色)必须拥有
iam:PassRole权限。AWSDataSyncFullAccess 策略包含此权限。类型:ManifestConfig 对象
必需:否
- Name
-
指定任务的名称。
类型:字符串
长度约束:最小长度为 0。最大长度为 256。
模式:
^[a-zA-Z0-9\s+=._:@/-]+$必需:否
- Options
-
指定任务的设置,例如保留文件元数据、验证数据完整性等选项。
类型:Options 对象
必需:否
- Schedule
-
指定任务运行的时间计划。有关更多信息,请参阅计划任务。
类型:TaskSchedule 对象
必需:否
- SourceLocationArn
-
指定传输源位置的 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}$必需:是
- Tags
-
指定要应用于任务的标签。
标签是键值对,帮助您管理、筛选和搜索 DataSync 资源。
类型:TagListEntry 对象数组
数组成员:最少 0 个物品。最多 50 项。
必需:否
- TaskMode
-
为数据传输指定以下任务模式之一:
-
ENHANCED:传输几乎无限的对象数量,传输性能高于基本模式。增强模式任务通过并行列示、准备、传输和验证数据来优化数据传输过程。增强模式目前可用于 Amazon S3 位置之间的传输、Azure Blob 和 Amazon S3 之间的无代理传输,以及其他云和 Amazon S3 之间的无代理传输。注意
要创建增强模式任务,用于调用
CreateTask操作的 IAM 角色必须拥有iam:CreateServiceLinkedRole权限。 -
BASIC(默认):在 AWS 存储和其他所有支持的 DataSync 位置之间传输文件或对象。基本模式任务在数据集中文件、对象和目录数量方面存在配额限制。基本模式按顺序准备、传输和验证数据,因此对于大多数工作负载来说,基本模式的处理速度慢于增强模式。
有关更多信息,请参阅了解任务模式差异。
类型:字符串
有效值:
BASIC | ENHANCED必需:否
-
- TaskReportConfig
-
指定您希望如何配置提供了有关 DataSync 传输详细信息的任务报告。有关更多信息,请参阅使用任务报告监控您的 DataSync 传输。
使用此参数时,您的调用者身份(您用于 DataSync 的角色)必须拥有
iam:PassRole权限。AWSDataSyncFullAccess 策略包含此权限。类型:TaskReportConfig 对象
必需:否
响应语法
{
"TaskArn": "string"
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回以下数据。
- TaskArn
-
任务的 Amazon 资源名称(ARN)。
类型:字符串
长度限制:最大长度为 128。
模式:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$
错误
有关所有操作的常见错误信息,请参阅 常见错误。
- InternalException
-
当 AWS DataSync 服务中发生错误时,会引发此异常。
HTTP 状态代码:500
- InvalidRequestException
-
当客户端提交格式错误的请求时,会引发此异常。
HTTP 状态代码:400
示例
增强模式任务的请求示例
以下示例创建了使用增强模式的 DataSync 任务。
与创建基本模式任务时不同,您无需指定 Amazon CloudWatch 日志组。在增强模式任务中,DataSync 会自动向名为 /aws/datasync 的日志组发送任务日志。如果您的 AWS 区域中不存在该日志组,DataSync 会在您创建任务时代表您创建日志组。
{ "SourceLocationArn": "arn:aws:datasync:us-east-1:111222333444:location/1111aaaa2222bbbb3", "DestinationLocationArn": "arn:aws:datasync:us-east-1:111222333444:location/0000zzzz1111yyyy2", "Name": "My Enhanced mode task", "TaskMode": "ENHANCED", "Options": { "TransferMode": "CHANGED", "VerifyMode": "ONLY_FILES_TRANSFERRED", "ObjectTags": "PRESERVE", "LogLevel": "TRANSFER" } }
基本模式任务的请求示例
以下示例创建了使用基本模式的 DataSync 任务。
{ "SourceLocationArn": "arn:aws:datasync:us-east-2:111222333444:location/loc-1111aaaa2222bbbb3", "DestinationLocationArn": "arn:aws:datasync:us-east-2:111222333444:location/loc-0000zzzz1111yyyy2", "Name": "My Basic mode task", "TaskMode": "BASIC", "Options": { "Atime": "BEST_EFFORT", "Gid": "NONE", "Mtime": "PRESERVE", "PosixPermissions": "PRESERVE", "PreserveDevices": "NONE", "PreserveDeletedFiles": "PRESERVE", "Uid": "NONE", "VerifyMode": "ONLY_FILES_TRANSFERRED" }, "Schedule": { "ScheduleExpression": "0 12 ? * SUN,WED *" }, "CloudWatchLogGroupArn": "arn:aws:logs:us-east-2:111222333444:log-group:/log-group-name:*", "Tags": [ { "Key": "Name", "Value": "Migration-wave-1" } ] }
示例响应
以下响应包括所创建任务的 ARN。
{ "TaskArn": "arn:aws:datasync:us-east-2:111222333444:task/task-08de6e6697796f026" }
另请参阅
有关在特定语言的 AWS SDK 中使用此 API 的更多信息,请参阅以下内容: