

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

# CreateTask
<a name="API_CreateTask"></a>

配置*任务*，在其中定义 AWS DataSync 传输数据的位置和方式。

任务包括源位置、目标位置和传输选项（如带宽限制、时间计划等）。

**重要**  
如果您计划在 Amazon S3 地点之间传输数据，请在开始之前查看[ DataSync 如何影响您的 S3 请求费用](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests)和[DataSync 定价页面](https://aws.amazon.com/datasync/pricing/)。

## 请求语法
<a name="API_CreateTask_RequestSyntax"></a>

```
{
   "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"
   }
}
```

## 请求参数
<a name="API_CreateTask_RequestParameters"></a>

有关所有操作的通用参数的信息，请参阅[常用参数](CommonParameters.md)。

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

 ** [CloudWatchLogGroupArn](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-CloudWatchLogGroupArn"></a>
指定用于监控任务的亚马逊 CloudWatch 日志组的亚马逊资源名称 (ARN)。  
对于增强模式任务，您无需指定任何内容。 DataSync自动将日志发送到名为的 CloudWatch 日志组`/aws/datasync`。  
有关更多信息，请参阅[使用 CloudWatch 日志监控数据传输](https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html)。  
类型：字符串  
长度约束：最大长度为 562。  
模式：`^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):logs:[a-z\-0-9]+:[0-9]{12}:log-group:([^:\*]*)(:\*)?$`  
必需：否

 ** [DestinationLocationArn](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-DestinationLocationArn"></a>
指定传输目标位置的 ARN。  
类型：字符串  
长度限制：最大长度为 128。  
模式：`^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$`  
是否必需：是

 ** [Excludes](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-Excludes"></a>
指定排除过滤器，用于定义源位置中您不想 DataSync 传输的文件、对象和文件夹。有关更多信息和示例，请参阅[使用过滤器指定 DataSync 传输的内容](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html)。  
类型：[FilterRule](API_FilterRule.md) 对象数组  
数组成员：最少 0 个物品。最多 1 项。  
必需：否

 ** [Includes](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-Includes"></a>
指定包含过滤器，用于定义源位置中 DataSync 要传输的文件、对象和文件夹。有关更多信息和示例，请参阅[使用过滤器指定 DataSync 传输的内容](https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html)。  
类型：[FilterRule](API_FilterRule.md) 对象数组  
数组成员：最少 0 个物品。最多 1 项。  
必需：否

 ** [ManifestConfig](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-ManifestConfig"></a>
配置清单，这是您要 DataSync 传输的文件或对象的列表。有关更多信息和配置示例，请参阅[使用清单指定 DataSync 传输的内容](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html)。  
使用此参数时，您的来电者身份（您使用的 DataSync 角色）必须具有`iam:PassRole`权限。该[AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)策略包含此权限。  
类型：[ManifestConfig](API_ManifestConfig.md) 对象  
必需：否

 ** [Name](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-Name"></a>
指定任务的名称。  
类型：字符串  
长度限制：最小长度为 0。最大长度为 256。  
模式：`^[a-zA-Z0-9\s+=._:@/-]+$`  
必需：否

 ** [Options](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-Options"></a>
指定任务的设置，例如保留文件元数据、验证数据完整性等选项。  
类型：[Options](API_Options.md) 对象  
必需：否

 ** [Schedule](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-Schedule"></a>
指定任务运行的时间计划。有关更多信息，请参阅[计划任务](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html)。  
类型：[TaskSchedule](API_TaskSchedule.md) 对象  
必需：否

 ** [SourceLocationArn](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-SourceLocationArn"></a>
指定传输源位置的 ARN。  
类型：字符串  
长度限制：最大长度为 128。  
模式：`^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$`  
是否必需：是

 ** [Tags](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-Tags"></a>
指定要应用于任务的标签。  
 *标签*是键值对，可帮助您管理、筛选和搜索 DataSync 资源。  
类型：[TagListEntry](API_TagListEntry.md) 对象数组  
数组成员：最少 0 个物品。最多 50 项。  
必需：否

 ** [TaskMode](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-TaskMode"></a>
为数据传输指定以下任务模式之一：  
+  `ENHANCED`：传输几乎无限的对象数量，传输性能高于基本模式。增强模式任务通过并行列示、准备、传输和验证数据来优化数据传输过程。增强模式目前可用于 Amazon S3 位置之间的传输、Azure Blob 和 Amazon S3 之间的无代理传输，以及其他云和 Amazon S3 之间的无代理传输。
**注意**  
要创建增强模式任务，用于调用 `CreateTask` 操作的 IAM 角色必须拥有 `iam:CreateServiceLinkedRole` 权限。
+  `BASIC`（默认）-在 AWS 存储和所有其他支持的 DataSync 位置之间传输文件或对象。基本模式任务在数据集中文件、对象和目录数量方面存在[配额](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html)限制。基本模式按顺序准备、传输和验证数据，因此对于大多数工作负载来说，基本模式的处理速度慢于增强模式。
有关更多信息，请参阅[了解任务模式差异](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html#task-mode-differences)。  
类型：字符串  
有效值：`BASIC | ENHANCED`  
必需：否

 ** [TaskReportConfig](#API_CreateTask_RequestSyntax) **   <a name="DataSync-CreateTask-request-TaskReportConfig"></a>
指定您想要如何配置任务报告，该报告提供有关您的 DataSync 转移的详细信息。有关更多信息，请参阅[使用任务报告监控您的 DataSync转账](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html)。  
使用此参数时，您的来电者身份（您使用的 DataSync 角色）必须具有`iam:PassRole`权限。该[AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess)策略包含此权限。  
类型：[TaskReportConfig](API_TaskReportConfig.md) 对象  
必需：否

## 响应语法
<a name="API_CreateTask_ResponseSyntax"></a>

```
{
   "TaskArn": "string"
}
```

## 响应元素
<a name="API_CreateTask_ResponseElements"></a>

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

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

 ** [TaskArn](#API_CreateTask_ResponseSyntax) **   <a name="DataSync-CreateTask-response-TaskArn"></a>
任务的 Amazon 资源名称（ARN）。  
类型：字符串  
长度限制：最大长度为 128。  
模式：`^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:task/task-[0-9a-f]{17}$`

## 错误
<a name="API_CreateTask_Errors"></a>

有关所有操作的常见错误信息，请参阅 [常见错误](CommonErrors.md)。

 ** InternalException **   
当 AWS DataSync 服务中发生错误时，会引发此异常。  
HTTP 状态代码：500

 ** InvalidRequestException **   
当客户端提交格式错误的请求时，会引发此异常。  
HTTP 状态代码：400

## 示例
<a name="API_CreateTask_Examples"></a>

### 增强模式任务的请求示例
<a name="API_CreateTask_Example_1"></a>

以下示例创建了一个使用增强模式的 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"
  }
}
```

### 基本模式任务的请求示例
<a name="API_CreateTask_Example_2"></a>

以下示例创建了一个使用 “基本” 模式的 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"
        }
    ]
}
```

### 示例响应
<a name="API_CreateTask_Example_3"></a>

以下响应包括所创建任务的 ARN。

```
{
  "TaskArn": "arn:aws:datasync:us-east-2:111222333444:task/task-08de6e6697796f026"
}
```

## 另请参阅
<a name="API_CreateTask_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/datasync-2018-11-09/CreateTask) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/datasync-2018-11-09/CreateTask) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/datasync-2018-11-09/CreateTask) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/datasync-2018-11-09/CreateTask) 