

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

# 配置文件、对象和元数据的处理方式
<a name="configure-metadata"></a>

您可以配置在不同位置之间传输时如何 Amazon DataSync 处理文件、对象及其关联的元数据。

例如，对于定期传输，您可能希望使用源中的更改覆盖目标中的文件，以保持位置同步。您可以复制诸如文件和文件夹的 POSIX 权限、与对象关联的标签以及访问控制列表 (ACLs) 之类的属性。

## 传输模式选项
<a name="task-option-transfer-mode"></a>

您可以配置是仅 DataSync 传输初始副本后更改的数据（包括元数据），还是每次运行任务时传输所有数据。如果计划进行定期传输，则可能仅需要传输自上次执行任务以来发生更改的内容。


| 控制台中的选项 | API 中的选项 | 说明 | 
| --- | --- | --- | 
|  **仅传输更改的数据**  |  [TransferMode](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode) 设置为 `CHANGED`  | 初次完全传输后，仅 DataSync 复制源位置和目标位置不同的数据和元数据。 | 
|  **传输所有数据**  |  [TransferMode](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode) 设置为 `ALL`  |  DataSync 将源中的所有内容复制到目的地，而不比较位置之间的差异。  | 

## 文件和对象处理选项
<a name="task-option-file-object-handling"></a>

您可以控制如何 DataSync 处理目标位置中的文件或对象的某些方面。例如， DataSync 可以删除目标中不在源中的文件。


| 控制台中的选项 | API 中的选项 | 说明 | 
| --- | --- | --- | 
|  **保留已删除数据**  |  [PreserveDeletedFiles](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PreserveDeletedFiles)  |  指定是否在目标位置 DataSync 维护源中不存在的文件或对象。 如果将任务配置为从 Amazon S3 存储桶中删除对象，则可能会为某些存储类产生最低存储持续时间费用。有关详细信息，请参阅 [Amazon S3 传输的存储类别注意事项](create-s3-location.md#using-storage-classes)。  无法将任务配置为删除目标中的数据，同时又[传输所有数据](#task-option-transfer-mode)。当您传输所有数据时， DataSync不会扫描您的目标位置，也不知道要删除什么。   | 
|  **覆盖文件**  |  [OverwriteMode](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-OverwriteMode)  |  指定在源数据或元数据发生更改时是否 DataSync 修改目标位置的数据。如果未将任务配置为覆盖数据，即使源数据不同，目标数据也不会覆盖。 如果您的任务覆盖对象，则您可能需要为某些存储类别（例如检索或提前删除）支付额外费用。有关详细信息，请参阅 [Amazon S3 传输的存储类别注意事项](create-s3-location.md#using-storage-classes)。  | 

## 元数据处理选项
<a name="task-option-metadata-handling"></a>

DataSync 可以在传输过程中保留文件和对象的元数据。 DataSync 可以保留的元数据取决于所涉及的存储系统以及这些系统是否使用类似的元数据结构。

在配置任务之前，请务必了解在源位置和目标位置之间传输时如何 DataSync 处理[元数据](metadata-copied.md)和[特殊文件](special-files-copied.md)。

**重要**  
DataSync 支持与某些第三方云存储系统（例如 Google Cloud Storage 和 IBM Cloud Object Storage）之间的传输，这些系统以不完全兼容 S3 的方式处理系统元数据。对于这些传 DataSync 输，会尽力复制元数据属性 `ContentType` `ContentEncoding``ContentLanguage`，例如、、和`CacheControl`。如果目标存储系统未应用这些属性，则在任务验证过程中会将其忽略。


| 控制台中的选项 | API 中的选项 | 说明 | 
| --- | --- | --- | 
|  **副本所有权**  | [https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Gid](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Gid) |  指定是否 DataSync 复制 POSIX 文件和文件夹所有权，例如文件所有者的组 ID 和文件所有者的用户 ID。  | 
|  **复制权限**  | [PosixPermissions](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PosixPermissions) |  指定是否 DataSync 将文件和文件夹的 POSIX 权限从源复制到目标。  | 
| 复制时间戳 | [Atime](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Atime) 和 [Mtime](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Mtime) |  指定是否 DataSync 将时间戳元数据从源复制到目标。当您需要多次运行任务时，必须使用这些选项。  | 
| 复制对象标签 | [ObjectTags](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-ObjectTags) |  指定在对象存储系统之间传输时是否 DataSync 保留与您的对象关联的标签。  | 
| 副本所有权 DACLs、和 SACLs | [SecurityDescriptorCopyFlags ](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 设置为 OWNER\$1DACL\$1SACL |  DataSync 复制以下内容： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/datasync/latest/userguide/configure-metadata.html)  | 
| 副本所有权和 DACLs | [SecurityDescriptorCopyFlags ](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 设置为 OWNER\$1DACL |  DataSync 复制以下内容： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/datasync/latest/userguide/configure-metadata.html) DataSync 选择此选项 SACLs 时不会复制。  | 
| 不要复制所有权或 ACLs | [SecurityDescriptorCopyFlags ](https://docs.amazonaws.cn/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 设置为 NONE |  DataSync 不复制任何所有权或权限数据。 DataSync 写入目标位置的对象归提供访问目标的凭证 DataSync的用户所有。目标对象权限是根据目标服务器上配置的权限确定的。  | 

## 配置文件、对象和元数据处理选项
<a name="configure-file-metadata-options"></a>

您可以配置在创建、编辑或启动传输任务时如何 DataSync 处理文件、对象和元数据。

### 使用控制 DataSync 台
<a name="configure-metadata-console"></a>

以下说明介绍了如何在创建任务时配置文件、对象和元数据处理选项。

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

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

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

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

1. 对于**传输方式**，请选择下列选项之一：
   + **仅传输更改的数据**
   + **传输所有数据**

   有关这些选项的详细信息，请参阅[传输模式选项](#task-option-transfer-mode)。

1. 如果 DataSync 要在目标位置维护源中不存在的文件或对象，请选择 “**保留已删除**的文件”。

   如果您不选择此选项，并且您的任务从 Amazon S3 存储桶中删除对象，则可能会为某些存储类产生最低存储持续时间费用。有关详细信息，请参阅 [Amazon S3 传输的存储类别注意事项](create-s3-location.md#using-storage-classes)。
**警告**  
您不能取消选择此选项并启用**传输所有数据**。当您传输所有数据时， DataSync 不会扫描您的目标位置，也不知道要删除什么。

1. 如果 DataSync要在源数据或元数据发生更改时修改目标位置的数据，请选择 “**覆盖文件**”。

   如果您的任务覆盖对象，则您可能需要为某些存储类别（例如检索或提前删除）支付额外费用。有关详细信息，请参阅 [Amazon S3 传输的存储类别注意事项](create-s3-location.md#using-storage-classes)。

   如果不选择此选项，即使源数据不同，目标数据也不会被覆盖。

1. 在 “**传输选项**” 下，选择 DataSync 要如何处理元数据。有关选项的更多信息，请参阅[元数据处理选项](#task-option-metadata-handling)。
**重要**  
控制台中的选项取决于任务的源位置和目标位置。您可能需要展开**其他设置**，才能看到部分选项。
   + **副本所有权**
   + **复制权限**
   + **复制时间戳**
   + **复制对象标签**
   + **副本所有权 DACLs、和 SACLs**
   + **副本所有权和 DACLs**
   + **不要复制所有权或 ACLs**

### 使用 DataSync API
<a name="configure-file-metadata-options-api"></a>

可通过在以下任何操作中使用 `Options` 参数来配置文件、对象和元数据处理选项：
+ [CreateTask](https://docs.amazonaws.cn/datasync/latest/userguide/API_CreateTask.html)
+ [StartTaskExecution](https://docs.amazonaws.cn/datasync/latest/userguide/API_StartTaskExecution.html)
+ [UpdateTask](https://docs.amazonaws.cn/datasync/latest/userguide/API_UpdateTask.html)