

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

# 为数据传输选择任务模式
<a name="choosing-task-mode"></a>

您的 AWS DataSync 任务可以在以下模式之一下运行：
+ **增强模式**-传输几乎无限数量的文件或对象，其性能高于基本模式。增强模式任务通过并行列示、准备、传输和验证数据来优化数据传输过程。增强模式目前可用于在 Amazon S3 位置之间进行传输，在没有代理的情况下在 Amazon S3 之间Azure Blob进行传输，在没有代理的情况下在其他云和 Amazon S3 之间传输，以及使用增强模式代理在 NFS 或 SMB 文件服务器与 Amazon S3 之间传输。
+ **基本模式**-在 AWS 存储和所有其他支持的 DataSync 位置之间传输文件或对象。基本模式任务在数据集中文件、对象和目录数量方面存在[配额](datasync-limits.md)限制。基本模式按顺序准备、传输和验证数据，因此对于大多数工作负载来说，基本模式的处理速度慢于增强模式。

## 了解任务模式的差异
<a name="task-mode-differences"></a>

以下信息有助于您确定使用哪种任务模式。


| 能力 | 增强模式行为 | 基本模式行为 | 
| --- | --- | --- | 
| [性能](how-datasync-transfer-works.md#transferring-files) | DataSync 并行列出、准备、传输和验证您的数据。对于大多数工作负载（例如传输大型对象），可提供比基本模式更高的性能 | DataSync 按顺序准备、传输和验证您的数据。对于大多数工作负载，性能比增强模式更慢 | 
| 数据集中每次执行任务时 DataSync 可以处理的项目数 |  对象数量几乎不受限制  |  适用[配额](datasync-limits.md#task-hard-limits)  | 
|  数据传输[计数器](transfer-performance-counters.md)和[指标](monitor-datasync.md)  |  与 “基本” 模式相比，计数器和指标更多，例如在源位置 DataSync找到的对象数量、每次任务执行期间准备的对象数量，以及类似于文件和对象计数器的文件夹计数器  |  计数器和指标低于增强模式  | 
|  [日志记录](configure-logging.md)  | 结构化日志（JSON 格式） | 非结构化日志 | 
|  [支持的位置](working-with-locations.md)  | 目前用于在 Amazon S3 位置之间进行传输，在没有代理的情况下在 Amazon S3 Azure Blob 和 Amazon S3 之间传输，在没有代理的情况下在其他云和 Amazon S3 之间传输，以及使用增强模式代理在 NFS 或 SMB 文件服务器与 Amazon S3 之间传输。 |  适用于所有 DataSync 支持的地点之间的传输  | 
|  [数据验证选项](configure-data-verification-options.md)  | DataSync 仅验证传输的数据 | DataSync 默认情况下会验证所有数据 | 
| 成本 | 如需了解更多信息，请参阅定[DataSync 价](https://aws.amazon.com/datasync/pricing)页面 | 如需了解更多信息，请参阅定[DataSync 价](https://aws.amazon.com/datasync/pricing)页面 | 
| 处理不支持的对象标签时失败 | 云存储传入或传出不支持对象标记的位置时，如果 ObjectTags 选项未指定或设置为 PRESERVE，任务执行会立即失败。 | 云存储传入或传出不支持对象标记的位置时，任务执行会正常运行，但如果 ObjectTags 选项未指定或设置为 PRESERVE，则会逐对象报告已标记对象的故障。 | 

## 选择任务模式
<a name="choosing-task-mode-how-to"></a>

您只能为 Amazon S3 位置之间的传输、在没有代理的情况下在 Amazon S3 之间Azure Blob进行传输、在没有代理的情况下在其他云和 Amazon S3 之间传输以及使用增强模式代理在 NFS 或 SMB 文件服务器与 Amazon S3 之间的传输选择增强模式。否则，必须使用基本模式。例如，从本地 [HDFS 位置](create-hdfs-location.md)传输到 S3 位置需要基本模式。

根据所选择的任务模式，任务选项和性能可能有所不同。一旦创建任务后，就无法更改任务模式。

**所需的权限**  
要创建增强模式任务，与之 DataSync 配合使用的 IAM 角色必须具有`iam:CreateServiceLinkedRole`权限。  
要获得 DataSync 用户权限，请考虑使用[AWSDataSyncFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-awsdatasyncfullaccess)。这是一项 AWS 托管策略，可为用户提供对其依赖项的完全访问权限 DataSync 和最少访问权限。

### 使用控制 DataSync 台
<a name="choosing-task-mode-console"></a>

1. 打开 AWS DataSync 控制台，网址为[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)。

1. 在左侧导航窗格中，展开**数据传输**，然后选择**任务**，然后选择**创建任务**。

1. 配置您任务的源位置和目标位置。

   有关更多信息，请参阅 [我可以在哪里传输我的数据 AWS DataSync？](working-with-locations.md)。

1. 对于**任务模式**，请选择下列选项之一：
   + **增强型**
   + **基本**

   有关更多信息，请参阅 [了解任务模式的差异](#task-mode-differences)。

1. 同样在**配置设置**页面，选择其他任务选项，或使用默认设置。

   您可能对以下一些选项感兴趣：
   + 使用[清单](transferring-with-manifest.md)或[筛选条件](filtering.md)指定要传输的数据。
   + 配置如何[处理文件元数据](configure-metadata.md)和[验证数据完整性](configure-data-verification-options.md)。
   + 使用[任务报告](task-reports.md)或 [Amazon CloudWatch 日志](monitor-datasync.md)监控您的转账。

   完成此操作后，选择**下一步**。

1. 检查任务配置，然后选择**创建任务**。

### 使用 AWS CLI
<a name="choosing-task-mode-cli"></a>

1. 在你的 AWS CLI 设置中，确保你使用的是你计划传输数据的 AWS 区域 位置之一。

1. 复制以下 `create-task` 命令：

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --task-mode "ENHANCED-or-BASIC"
   ```

1. 对于 `--source-location-arn`，指定源位置的 Amazon 资源名称（ARN）。

1. 对于 `--destination-location-arn`，指定目标位置的 ARN。

   如果您要跨 AWS 区域 账户转账，请确保 ARN 包含其他地区或账户 ID。

1. 对于 `--task-mode`，指定 `ENHANCED` 或 `BASIC`。

   有关更多信息，请参阅 [了解任务模式的差异](#task-mode-differences)。

1. 根据需要指定其他任务选项。您可能对以下一些选项感兴趣：
   + 使用[清单](transferring-with-manifest.md)或[筛选条件](filtering.md)指定要传输的数据。
   + 配置如何[处理文件元数据](configure-metadata.md)和[验证数据完整性](configure-data-verification-options.md)。
   + 使用[任务报告](task-reports.md)或 [Amazon CloudWatch 日志](monitor-datasync.md)监控您的转账。

   有关更多选项，请参阅 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html)。以下是指定了增强模式和其他多个选项的 `create-task` 命令示例：

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --name "task-name" \
     --task-mode "ENHANCED" \
     --options TransferMode=CHANGED,VerifyMode=ONLY_FILES_TRANSFERRED,ObjectTags=PRESERVE,LogLevel=TRANSFER
   ```

1. 运行 `create-task` 命令。

   如果命令成功，您将收到一条响应，显示所创建任务的 ARN。例如：

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

### 使用 DataSync API
<a name="choosing-task-mode-api"></a>

您可以通过在[CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)操作中配置`TaskMode`参数来指定 DataSync 任务模式。