

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立傳輸資料的任務
<a name="create-task-how-to"></a>

*任務*說明 AWS DataSync 資料傳輸的位置和方式。任務包含下列項目：
+ [**來源位置**](working-with-locations.md) – DataSync 從中傳輸資料的儲存系統或服務。
+ [**目的地位置**](working-with-locations.md) – DataSync 將資料傳輸到的儲存系統或服務。
+ [**任務選項**](task-options.md) – 設定，例如要傳輸哪些檔案、如何驗證資料、何時執行任務等。
+ [**任務執行**](run-task.md) – 當您執行任務時，稱為*任務執行*。

## 建立您的任務
<a name="create-task-steps"></a>

當您建立 DataSync 任務時，您可以指定來源和目的地位置。您也可以選擇傳輸哪些檔案、中繼資料的處理方式、設定排程等，來自訂任務。

建立任務之前，請確定您了解 [ DataSync 傳輸的運作方式](how-datasync-transfer-works.md#transferring-files)並檢閱[任務配額](datasync-limits.md#task-hard-limits)。

**重要**  
如果您打算在 Amazon S3 位置之間傳輸資料，請在開始之前檢閱 [ DataSync 如何影響您的 S3 請求費用](create-s3-location.md#create-s3-location-s3-requests)和 [DataSync 定價頁面](https://aws.amazon.com/datasync/pricing/)。

### 使用 DataSync 主控台
<a name="create-task-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 請確定您位於 AWS 區域 您計劃傳輸資料的其中一個 中。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 在**設定來源位置**頁面上，[建立](transferring-data-datasync.md)或選擇來源位置，然後選擇**下一步**。

1. 在**設定目的地位置**頁面上，[建立](transferring-data-datasync.md)或選擇目的地位置，然後選擇**下一步**。

1. （建議） 在**設定設定**頁面上，為您的任務提供您可以記住的名稱。

1. 仍在**設定設定**頁面上時，請選擇您的任務選項或使用預設設定。

   您可能對下列一些選項感興趣：
   + 指定您要使用[的任務模式](choosing-task-mode.md)。
   + 使用[資訊清單](transferring-with-manifest.md)或[篩選條件](filtering.md)指定要傳輸的資料。
   + 設定 如何處理[檔案中繼資料](configure-metadata.md)和[驗證資料完整性](configure-data-verification-options.md)。
   + 使用[任務報告](task-reports.md)或 [Amazon CloudWatch](monitor-datasync.md) 監控您的傳輸。建議您為任務設定某種監控。

   完成後，請選擇 **Next (下一步)**。

1. 檢閱您的任務組態，然後選擇**建立任務**。

您已準備好[開始任務](run-task.md)。

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

[建立 DataSync 來源和目的地位置](transferring-data-datasync.md)後，您就可以建立任務。

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" \
     --name "task-name"
   ```

1. 針對 `--source-location-arn`，指定來源位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn`，指定目的地位置的 ARN。

   如果您要跨 AWS 區域 或 帳戶轉移，請確定 ARN 包含其他區域或帳戶 ID。

1. （建議） 針對 `--name`，指定您可以記住的任務名稱。

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" \
     --cloud-watch-log-group-arn "arn:aws:logs:region:account-id" \
     --name "task-name" \
     --options VerifyMode=NONE,OverwriteMode=NEVER,Atime=BEST_EFFORT,Mtime=PRESERVE,Uid=INT_VALUE,Gid=INT_VALUE,PreserveDevices=PRESERVE,PosixPermissions=PRESERVE,PreserveDeletedFiles=PRESERVE,TaskQueueing=ENABLED,LogLevel=TRANSFER
   ```

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

   如果命令成功，您會收到回應，顯示您建立之任務的 ARN。例如：

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

您已準備好[開始任務](run-task.md)。

## 任務狀態
<a name="understand-task-creation-statuses"></a>

當您建立 DataSync 任務時，您可以檢查其狀態，以查看是否已準備好執行。


| 主控台狀態 | API 狀態 | Description | 
| --- | --- | --- | 
| Available |  `AVAILABLE`  |  任務已準備好開始傳輸資料。  | 
| 執行中 |  `RUNNING`  | 任務執行正在進行中。如需詳細資訊，請參閱[任務執行狀態](run-task.md#understand-task-execution-statuses)。 | 
|  Unavailable  |  `UNAVAILABLE`  |  任務使用的 DataSync 代理程式已離線。如需詳細資訊，請參閱[如果我的客服人員離線，該怎麼辦？](troubleshooting-datasync-agents.md#troubleshoot-agent-offline)  | 
|  佇列  |  `QUEUED`  |  另一個使用相同 DataSync 代理程式的任務執行正在進行中。如需詳細資訊，請參閱[了解您的任務何時排入佇列](run-task.md#queue-task-execution)。  | 

## 透過多項任務分割大型資料集
<a name="multiple-tasks-large-dataset"></a>

如果您要傳輸大型資料集，例如[遷移](datasync-large-migration.md)數百萬個檔案或物件，建議您使用 DataSync 增強模式進行傳輸，這可以傳輸具有幾乎無限個檔案數量的資料集。對於非常大型的資料集，使用數十億個檔案，您應該考慮使用多個 DataSync 任務分割資料集。將資料分割到多個任務 （以及可能的[客服人員](do-i-need-datasync-agent.md#multiple-agents)，視您的位置而定），有助於縮短 DataSync 準備和傳輸資料所需的時間。

考慮您可以跨數個 DataSync 任務分割大型資料集的一些方式：
+ 建立轉移個別資料夾的任務。例如，您可以在來源儲存`/FolderB`中建立兩個分別以 `/FolderA`和 為目標的任務。
+ 使用[資訊](transferring-with-manifest.md)清單或[篩選條件](filtering.md)建立傳輸檔案、物件和資料夾子集的任務。

請注意，此方法可以增加儲存體的 I/O 操作，並影響您的網路頻寬。如需詳細資訊，請參閱[如何使用 DataSync 橫向擴展架構加速資料傳輸](https://aws.amazon.com/blogs/storage/how-to-accelerate-your-data-transfers-with-aws-datasync-scale-out-architectures/)的部落格。

## 使用多個任務分割傳輸的資料
<a name="multiple-tasks-organize-transfer"></a>

如果您要將不同的資料集傳輸到相同的目的地，您可以建立多個任務，以協助分割您傳輸的資料。

例如，如果您要轉移到名為 的相同 S3 儲存貯體`MyBucket`，您可以在對應到每個任務的儲存貯體中建立不同的字首。此方法可防止檔案名稱與資料集衝突，並可讓您為每個字首設定不同的許可。以下是您可以設定此項目的方式：

1. 在`MyBucket`名為 `task1`、 `task2`和 的目的地中建立三個字首`task3`：
   + `s3://MyBucket/task1`
   + `s3://MyBucket/task2`
   + `s3://MyBucket/task3`

1. 建立三個名為 `task1`、 `task2`和 的 DataSync 任務`task3`，該任務會傳輸至 中的對應字首`MyBucket`。

# 為您的資料傳輸選擇任務模式
<a name="choosing-task-mode"></a>

您的 AWS DataSync 任務可以在下列其中一種模式中執行：
+ **增強型模式** – 傳輸幾乎無限數量的檔案或物件，其效能高於基本模式。增強型模式任務透過平行列出、準備、傳輸和驗證資料來最佳化資料傳輸程序。增強型模式目前可用於 Amazon S3 位置之間的傳輸、在沒有代理程式的情況下在 Azure Blob與 Amazon S3 之間傳輸、在其他雲端與 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 位置之間的傳輸、在沒有代理程式的情況下在 Azure Blob和 Amazon S3 之間傳輸、在沒有代理程式的情況下在其他雲端和 Amazon S3 之間傳輸，以及使用增強模式代理程式在 NFS 或 SMB 檔案伺服器和 Amazon S3 之間傳輸。 |  對於 DataSync 支援的所有位置之間的傳輸  | 
|  [資料驗證選項](configure-data-verification-options.md)  | DataSync 只會驗證傳輸的資料 | DataSync 預設會驗證所有資料 | 
| Cost | 如需詳細資訊，請參閱 [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 位置之間的傳輸選擇增強型模式、在沒有代理程式的情況下在 Azure Blob與 Amazon S3 之間傳輸、在其他雲端與 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. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS 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 Logs ](monitor-datasync.md)監控您的傳輸。

   完成後，請選擇 **Next (下一步)**。

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 Resource Name (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 Logs ](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 任務模式。

# 選擇哪些 AWS DataSync 傳輸
<a name="task-options"></a>

AWS DataSync 可讓您選擇要傳輸的內容，以及您希望資料處理的方式。某些選項包括：
+ 使用資訊清單傳輸檔案或物件的確切清單。
+ 使用篩選條件在傳輸中包含或排除特定類型的資料。
+ 對於重複傳輸，僅移動自上次傳輸以來變更的資料
+ 覆寫目的地位置中的資料，以符合來源位置中的內容。
+ 選擇要在儲存位置之間保留哪些檔案或物件中繼資料。

**Topics**
+ [使用資訊清單傳輸特定檔案或物件](transferring-with-manifest.md)
+ [使用篩選條件傳輸特定檔案、物件和資料夾](filtering.md)
+ [了解 DataSync 如何處理檔案和物件中繼資料](metadata-copied.md)
+ [由 複製的連結和目錄 AWS DataSync](special-files-copied.md)
+ [設定如何處理檔案、物件和中繼資料](configure-metadata.md)

# 使用資訊清單傳輸特定檔案或物件
<a name="transferring-with-manifest"></a>

*資訊清單*是您要 AWS DataSync 傳輸的檔案或物件清單。例如，DataSync 不需要傳輸 S3 儲存貯體中所有可能具有數百萬個物件的內容，而只會傳輸您在資訊清單中列出的物件。

資訊清單類似於[篩選條件](filtering.md)，但可讓您確切識別要傳輸哪些檔案或物件，而不是符合篩選條件模式的資料。

**注意**  
具有增強型模式任務的資訊清單檔案允許的大小上限為 20 GB。

## 建立資訊清單
<a name="transferring-with-manifest-create"></a>

資訊清單是逗號分隔值 (CSV) 格式的檔案，列出您要 DataSync 傳輸之來源位置中的檔案或物件。如果您的來源是 S3 儲存貯體，您也可以包含要傳輸的物件版本。

**Topics**
+ [指導方針](#transferring-with-manifest-guidelines)
+ [範例資訊清單](#manifest-examples)

### 指導方針
<a name="transferring-with-manifest-guidelines"></a>

使用這些準則來協助您建立可搭配 DataSync 使用的資訊清單。

------
#### [ Do ]
+ 指定您要傳輸之每個檔案或物件的完整路徑。

  您無法僅指定意圖轉移其所有內容的目錄或資料夾。對於這些情況，請考慮使用[包含篩選條件](filtering.md)而非資訊清單。
+ 請確定每個檔案或物件路徑與您在設定 DataSync 來源位置時指定的掛載路徑、資料夾、目錄或字首相關。

  例如，假設您使用名為 的字首[來設定 S3 位置](create-s3-location.md#create-s3-location-how-to)`photos`。該字首包含您要傳輸`my-picture.png`的物件。在資訊清單中，您接著只需要指定物件 (`my-picture.png`) 而非字首和物件 (`photos/my-picture.png`)。
+ 若要指定 Amazon S3 物件版本 IDs，請使用逗號分隔物件的路徑和版本 ID。

  下列範例顯示包含兩個欄位的資訊清單項目。第一個欄位包含名為 的物件`picture1.png`。第二個欄位以逗號分隔，並包含 的版本 ID`111111`：

  ```
  picture1.png,111111
  ```
+ 在下列情況下使用引號：
  + 當路徑包含特殊字元 （逗號、引號和行尾） 時：

    `"filename,with,commas.txt"`
  + 當路徑跨越多行時：

    ```
    "this
    is
    a
    filename.txt"
    ```
  + 當路徑包含引號時：

    `filename""with""quotes.txt`

    這表示名為 的路徑`filename"with"quotes.txt`。

  這些引號規則也適用於版本 ID 欄位。一般而言，如果資訊清單欄位有引號，您必須使用另一個引號逸出它。
+ 使用新行分隔每個檔案或物件項目。

  您可以使用 Linux （換行或換行） 或 Windows （換行後接換行） 樣式換行來分隔行。
+ 儲存資訊清單 （例如， `my-manifest.csv`或 `my-manifest.txt`)。
+ 將資訊清單上傳至 [DataSync 可存取](#transferring-with-manifest-access)的 S3 儲存貯體。

  此儲存貯體不必位於您使用 DataSync 的相同 AWS 區域 或 帳戶中。

------
#### [ Don't ]
+ 僅指定旨在傳輸其所有內容的目錄或資料夾。

  資訊清單只能包含您要傳輸之檔案或物件的完整路徑。如果您將來源位置設定為使用特定掛載路徑、資料夾、目錄或字首，則不需要將其包含在資訊清單中。
+ 指定超過 4，096 個字元的檔案或物件路徑。
+ 指定超過 1，024 個位元組的檔案路徑、物件路徑或 Amazon S3 物件版本 ID。
+ 指定重複的檔案或物件路徑。
+ 如果您的來源位置不是 S3 儲存貯體，請包含物件版本 ID。
+ 在資訊清單項目中包含兩個以上的欄位。

  項目只能包含檔案或物件路徑，以及 （如適用） Amazon S3 物件版本 ID。
+ 包含不符合 UTF-8 編碼的字元。
+ 在引號外的輸入欄位中包含意外空格。

------

### 範例資訊清單
<a name="manifest-examples"></a>

使用這些範例來協助您建立可搭配 DataSync 使用的資訊清單。

**具有完整檔案或物件路徑的資訊清單**  
下列範例顯示資訊清單，其中包含要傳輸的完整檔案或物件路徑。  

```
photos/picture1.png
photos/picture2.png
photos/picture3.png
```

**僅具有物件索引鍵的資訊清單**  
下列範例顯示資訊清單，其中包含要從 Amazon S3 來源位置傳輸的物件。由於[位置是以](create-s3-location.md#create-s3-location-how-to)字首 設定`photos`，因此只會指定物件金鑰。  

```
picture1.png
picture2.png
picture3.png
```

**具有物件路徑和版本 IDs清單**  
下列資訊清單範例中的前兩個項目包含要傳輸的特定 Amazon S3 物件版本。  

```
photos/picture1.png,111111
photos/picture2.png,121212
photos/picture3.png
```

**帶有 UTF-8 字元的資訊清單**  
下列範例顯示包含 UTF-8 字元的檔案資訊清單。  

```
documents/résumé1.pdf
documents/résumé2.pdf
documents/résumé3.pdf
```

## 提供對資訊清單的 DataSync 存取權
<a name="transferring-with-manifest-access"></a>

您需要一個 AWS Identity and Access Management (IAM) 角色，讓 DataSync 存取 S3 儲存貯體中的資訊清單。此角色必須包含下列許可：
+ `s3:GetObject`
+ `s3:GetObjectVersion`

您可以在 DataSync 主控台中自動產生此角色，或自行建立角色。

**注意**  
如果您的資訊清單位於不同的 AWS 帳戶中，您必須手動建立此角色。

### 自動建立 IAM 角色
<a name="creating-manfiest-role-automatically"></a>

在主控台中建立或啟動傳輸任務時，DataSync 可以使用存取資訊清單所需的 `s3:GetObject`和 `s3:GetObjectVersion`許可，為您建立 IAM 角色。

**自動建立角色所需的許可**  
若要自動建立角色，請確定您用來存取 DataSync 主控台的角色具有下列許可：  
+ `iam:CreateRole`
+ `iam:CreatePolicy`
+ `iam:AttachRolePolicy`

### 建立 IAM 角色 （相同帳戶）
<a name="creating-manfiest-role-automatically-same-account"></a>

您可以手動建立 DataSync 存取資訊清單所需的 IAM 角色。下列指示假設您使用 DataSync AWS 帳戶 的所在位置與資訊清單的 S3 儲存貯體所在的位置相同。

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選擇**角色**，然後選擇**建立角色**。

1. 在**選取信任的實體**頁面上，針對**信任的實體類型**，選擇 **AWS 服務**。

1. 針對**使用案例**，在下拉式清單中選擇 **DataSync**，然後選取 **DataSync**。選擇**下一步**。

1. 在 **Add permissions** (新增許可) 頁面上，選擇 **Next** (下一步)。為您的角色命名，然後選擇**建立角色**。

1. 在**角色**頁面上，搜尋您剛建立的角色，然後選擇其名稱。

1. 在角色的詳細資訊頁面上，選擇**許可**索引標籤。選擇**新增許可**，然後選擇**建立內嵌政策**。

1. 選擇 **JSON** 索引標籤，並將下列範例政策貼到政策編輯器中：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "DataSyncAccessManifest",
           "Effect": "Allow",
           "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/my-manifest.csv"
       }]
   }
   ```

------

1. 在您剛貼上的範例政策中，將下列值取代為您自己的值：

   1. `amzn-s3-demo-bucket` 將 取代為託管資訊清單的 S3 儲存貯體名稱。

   1. `my-manifest.csv` 將 取代為您資訊清單的檔案名稱。

1. 選擇**下一步**。為您的政策命名，然後選擇**建立政策**。

1. （建議） 若要防止[跨服務混淆代理人問題](cross-service-confused-deputy-prevention.md)，請執行下列動作：

   1. 在角色的詳細資訊頁面上，選擇**信任關係**索引標籤。選擇**編輯信任政策**。

   1. 使用以下範例更新信任政策，其中包含 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容索引鍵：

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "555555555555"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:555555555555:*"
                  }
              }
            }
        ]
      }
      ```

------
      + `account-id` 使用 DataSync 所在的 AWS 帳戶 ID 取代每個執行個體。
      + `region` 將 取代為您使用 DataSync AWS 區域 的 。

   1. 選擇**更新政策**。

您已建立允許 DataSync 存取資訊清單的 IAM 角色。在[建立](#manifest-creating-task)或[啟動](#manifest-starting-task)任務時指定此角色。

### 建立 IAM 角色 （不同的帳戶）
<a name="creating-manfiest-role-automatically-different-account"></a>

如果您的資訊清單位於屬於不同 的 S3 儲存貯體中 AWS 帳戶，您必須手動建立 DataSync 用來存取資訊清單的 IAM 角色。然後，在 AWS 帳戶 資訊清單所在的 中，您需要在 S3 儲存貯體政策中包含 角色。

#### 建立 角色
<a name="creating-manfiest-role-automatically-different-account-1"></a>

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選擇**角色**，然後選擇**建立角色**。

1. 在**選取信任的實體**頁面上，針對**信任的實體類型**，選擇 **AWS 服務**。

1. 針對**使用案例**，在下拉式清單中選擇 **DataSync**，然後選取 **DataSync**。選擇**下一步**。

1. 在 **Add permissions** (新增許可) 頁面上，選擇 **Next** (下一步)。為您的角色命名，然後選擇**建立角色**。

1. 在**角色**頁面上，搜尋您剛建立的角色，然後選擇其名稱。

1. 在角色的詳細資訊頁面上，選擇**許可**索引標籤。選擇**新增許可**，然後選擇**建立內嵌政策**。

1. 選擇 **JSON** 索引標籤，並將下列範例政策貼到政策編輯器中：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "DataSyncAccessManifest",
           "Effect": "Allow",
           "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/my-manifest.csv"
       }]
   }
   ```

------

1. 在您剛貼上的範例政策中，將下列值取代為您自己的值：

   1. `amzn-s3-demo-bucket` 將 取代為託管資訊清單的 S3 儲存貯體名稱。

   1. `my-manifest.csv` 將 取代為您資訊清單的檔案名稱。

1. 選擇**下一步**。為您的政策命名，然後選擇**建立政策**。

1. （建議） 若要防止[跨服務混淆代理人問題](cross-service-confused-deputy-prevention.md)，請執行下列動作：

   1. 在角色的詳細資訊頁面上，選擇**信任關係**索引標籤。選擇**編輯信任政策**。

   1. 使用以下範例更新信任政策，其中包含 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容索引鍵：

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "000000000000"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:000000000000:*"
                  }
              }
           }
        ]
      }
      ```

------
      + `account-id` 使用 DataSync 所在的 AWS 帳戶 ID 取代 的每個執行個體。
      + `region` 將 取代為您使用 DataSync AWS 區域 的 。

   1. 選擇**更新政策**。

您已建立可以包含在 S3 儲存貯體政策中的 IAM 角色。

#### 使用 角色更新您的 S3 儲存貯體政策
<a name="creating-manfiest-role-automatically-different-account-2"></a>

建立 IAM 角色之後，您必須將其新增至 AWS 帳戶 資訊清單所在的另一個 中的 S3 儲存貯體政策。

1. 在 中 AWS 管理主控台，使用您 Manfiest 的 S3 儲存貯體切換到帳戶。

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在儲存貯體的詳細資訊頁面上，選擇**許可**索引標籤。

1. 在**儲存貯體政策**下，選擇**編輯**並執行下列動作來修改 S3 儲存貯體政策：

   1. 更新編輯器中的內容，以包含下列政策陳述式：

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "DataSyncAccessManifestBucket",
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
          }
        ]
      }
      ```

------

   1. `account-id` 將 取代為您使用 DataSync 之帳戶的 AWS 帳戶 ID。

   1. `datasync-role` 將 取代為您剛建立的 IAM 角色，以允許 DataSync 存取您的資訊清單。

   1. `amzn-s3-demo-bucket` 將 取代為在另一個 中託管資訊清單的 S3 儲存貯體名稱 AWS 帳戶。

1. 選擇**儲存變更**。

您已建立 IAM 角色，允許 DataSync 存取您在其他帳戶中的資訊清單。在[建立](#manifest-creating-task)或[啟動](#manifest-starting-task)任務時指定此角色。

## 在建立任務時指定資訊清單
<a name="manifest-creating-task"></a>

您可以指定您要 DataSync 在建立任務時使用的資訊清單。

### 使用 DataSync 主控台
<a name="manifest-creating-task-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**要掃描的內容**，選擇**特定檔案、物件和資料夾**，然後選取**使用資訊清單**。

1. 針對 **S3 URI**，選擇託管在 S3 儲存貯體上的資訊清單。

   或者，您可以輸入 URI （例如，`s3://bucket/prefix/my-manifest.csv`)。

1. 針對**物件版本**，選擇您希望 DataSync 使用的資訊清單版本。

   根據預設，DataSync 會使用物件的最新版本。

1. 對於**資訊清單存取角色**，請執行下列其中一項操作：
   + 選擇**自動產生** DataSync，以自動建立具有存取 S3 儲存貯體中資訊清單所需許可的 IAM 角色。
   + 選擇可存取資訊清單的現有 IAM 角色。

   如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。

1. 設定您需要的任何其他任務設定，然後選擇**下一步**。

1. 選擇 **Create task (建立任務)**。

### 使用 AWS CLI
<a name="manifest-creating-task-cli"></a>

1. 複製下列`create-task`命令：

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --manifest-config {
         "Source": {
           "S3": {
               "ManifestObjectPath": "s3-object-key-of-manifest",
               "BucketAccessRoleArn": "bucket-iam-role",
               "S3BucketArn": "amzn-s3-demo-bucket-arn",
               "ManifestObjectVersionId": "manifest-version-to-use" 
           }
         }
     }
   ```

1. 針對 `--source-location-arn` 參數，指定您要從中傳輸資料之位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn` 參數，指定您要傳輸資料之位置的 ARN。

1. 針對 `--manifest-config` 參數，請執行下列動作：
   + `ManifestObjectPath` – 指定資訊清單的 S3 物件金鑰。
   + `BucketAccessRoleArn` – 指定允許 DataSync 存取 S3 儲存貯體中資訊清單的 IAM 角色。

     如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。
   + `S3BucketArn` – 指定託管資訊清單之 S3 儲存貯體的 ARN。
   + `ManifestObjectVersionId` – 指定您希望 DataSync 使用的資訊清單版本。

     根據預設，DataSync 會使用物件的最新版本。

1. 執行 `create-task`命令來建立您的任務。

當您準備好時，可以[開始傳輸任務](run-task.md)。

## 在開始任務時指定資訊清單
<a name="manifest-starting-task"></a>

您可以指定您希望 DataSync 在執行任務時使用的資訊清單。

### 使用 DataSync 主控台
<a name="manifest-starting-task-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，選擇**任務**，然後選擇您要開始的任務。

1. 在任務概觀頁面中，選擇**開始**，然後選擇**從覆寫選項開始**。

1. 針對**要掃描的內容**，選擇**特定檔案、物件和資料夾**，然後選取**使用資訊清單**。

1. 針對 **S3 URI**，選擇託管在 S3 儲存貯體上的資訊清單。

   或者，您可以輸入 URI （例如，`s3://bucket/prefix/my-manifest.csv`)。

1. 針對**物件版本**，選擇您希望 DataSync 使用的資訊清單版本。

   根據預設，DataSync 會使用物件的最新版本。

1. 對於**資訊清單存取角色**，請執行下列其中一項操作：
   + 選擇**自動產生** DataSync 以自動建立 IAM 角色，以存取 S3 儲存貯體中的資訊清單。
   + 選擇可存取資訊清單的現有 IAM 角色。

   如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。

1. 選擇**開始**以開始轉移。

### 使用 AWS CLI
<a name="manifest-starting-task-cli"></a>

1. 複製下列`start-task-execution`命令：

   ```
   aws datasync start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --manifest-config {
         "Source": {
           "S3": {
               "ManifestObjectPath": "s3-object-key-of-manifest",
               "BucketAccessRoleArn": "bucket-iam-role",
               "S3BucketArn": "amzn-s3-demo-bucket-arn",
               "ManifestObjectVersionId": "manifest-version-to-use" 
           }
         }
     }
   ```

1. 針對 `--task-arn` 參數，指定您要啟動之任務的 Amazon Resource Name (ARN)。

1. 針對 `--manifest-config` 參數，請執行下列動作：
   + `ManifestObjectPath` – 指定資訊清單的 S3 物件金鑰。
   + `BucketAccessRoleArn` – 指定允許 DataSync 存取 S3 儲存貯體中資訊清單的 IAM 角色。

     如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。
   + `S3BucketArn` – 指定託管資訊清單之 S3 儲存貯體的 ARN。
   + `ManifestObjectVersionId` – 指定您希望 DataSync 使用的資訊清單版本。

     根據預設，DataSync 會使用物件的最新版本。

1. 執行 `start-task-execution`命令以開始傳輸。

## 限制
<a name="transferring-with-manifest-limitations"></a>
+ 您無法將資訊清單與[篩選條件](filtering.md)一起使用。
+ 您無法只指定旨在傳輸其所有內容的目錄或資料夾。對於這些情況，請考慮使用[包含篩選條件](filtering.md)而非資訊清單。
+ 您無法使用**保留已刪除的檔案**任務選項 (`PreserveDeletedFiles`在 [API](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PreserveDeletedFiles) 中） 來[維護目的地中不在來源中的檔案或物件](configure-metadata.md)。DataSync 只會傳輸資訊清單中列出的內容，而不會刪除目的地中的任何內容。

## 疑難排解
<a name="manifests-troubleshooting"></a>

**與 `HeadObject`或 相關的錯誤 `GetObjectTagging`**  
如果您要從 S3 儲存貯體傳輸具有特定版本 IDs物件，您可能會看到與 `HeadObject`或 相關的錯誤`GetObjectTagging`。例如，以下是與 相關的錯誤`GetObjectTagging`：

```
[WARN] Failed to read metadata for file /picture1.png (versionId: 111111): S3 Get Object Tagging Failed
[ERROR] S3 Exception: op=GetObjectTagging photos/picture1.png, code=403, type=15, exception=AccessDenied, 
msg=Access Denied req-hdrs: content-type=application/xml, x-amz-api-version=2006-03-01 rsp-hdrs: content-type=application/xml, 
date=Wed, 07 Feb 2024 20:16:14 GMT, server=AmazonS3, transfer-encoding=chunked, 
x-amz-id-2=IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km, x-amz-request-id=79104EXAMPLEB723
```

如果您看到這些錯誤，請驗證 DataSync 用來存取 S3 來源位置的 IAM 角色具有下列許可：
+ `s3:GetObjectVersion`
+ `s3:GetObjectVersionTagging`

如果您需要使用這些許可更新角色，請參閱 [為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](create-s3-location.md#create-role-manually)。

**錯誤：`ManifestFileDoesNotExist`**  
此錯誤表示在來源找不到資訊清單內的檔案。檢閱建立資訊清單的[指導方針](#transferring-with-manifest-guidelines)。

## 後續步驟
<a name="manifests-next-steps"></a>

如果您尚未開始任務，請[啟動您的任務](run-task.md)。否則，請[監控任務的活動](monitoring-overview.md)。

# 使用篩選條件傳輸特定檔案、物件和資料夾
<a name="filtering"></a>

AWS DataSync 可讓您套用篩選條件，以在傳輸中包含或排除來源位置的資料。例如，如果您不想傳輸結尾為 的暫存檔案`.tmp`，您可以建立排除篩選條件，讓這些檔案不會前往目的地位置。

您可以使用排除的組合，並在相同的傳輸任務中包含篩選條件。如果您修改任務的篩選條件，這些變更會在您下次執行任務時套用。

## 篩選詞彙、定義和語法
<a name="filter-overview"></a>

熟悉與 DataSync 篩選相關的概念：

**篩選條件 **  
組成特定篩選條件的整個字串 （例如 `*.tmp``|``*.temp`或 `/folderA|/folderB`)。  
篩選條件是由使用管道 (\$1) 分隔的模式組成。當您在 DataSync 主控台中新增模式時，不需要分隔符號，因為您分別新增每個模式。  
篩選條件區分大小寫。例如，篩選條件`/folderA`不符合 `/FolderA`。

**模式**  
篩選條件的模式。例如， `*.tmp` 是屬於`*.tmp``|``*.temp`篩選條件的模式。如果您的篩選條件有多個模式，您可以使用管道 (\$1) 分隔每個模式。

**資料夾**  
+ 所有篩選條件皆相對於來源位置路徑。例如，假設您在建立來源位置和任務時將 指定`/my_source/`為來源路徑，並指定包含篩選條件 `/transfer_this/`。在此情況下，DataSync 只會傳輸目錄`/my_source/transfer_this/`及其內容。
+ 若要直接在來源位置下方指定資料夾，請在資料夾名稱前面包含正斜線 (/)。在之前的範例中，模式使用 `/transfer_this` 而非 `transfer_this`。
+ DataSync 會以相同方式解譯下列模式，並同時符合資料夾及其內容。

  `/dir` 

  `/dir/`
+ 當您在 Amazon S3 儲存貯體之間傳輸資料時，DataSync 會將物件金鑰中的`/`字元視為檔案系統上資料夾的同等項目。

**特殊字元**  
以下是可用於篩選條件的特殊字元。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/filtering.html)

## 範例篩選條件
<a name="sample-filters"></a>

下列範例顯示您可以搭配 DataSync 使用的常見篩選條件。

**注意**  
您可以在篩選條件中使用多少字元有限制。如需詳細資訊，請參閱[DataSync 配額](datasync-limits.md#task-hard-limits)。

**從來源位置排除一些資料夾**  
在某些情況下，您想要排除來源位置中的資料夾，以免它們複製到目的地位置。例如，如果您有臨時work-in-progress資料夾，您可以使用如下篩選條件：

`*/.temp`

若要排除具有類似內容 （例如 `/reports2021`和 `/reports2022)`) 的資料夾，您可以使用排除篩選條件，如下所示：

`/reports*`

若要排除檔案階層中任何層級的資料夾，您可以使用如下所示的排除篩選條件。

`*/folder-to-exclude-1`\$1`*/folder-to-exclude-2`

若要排除來源位置最上層的資料夾，您可以使用排除篩選條件，如下所示。

`/top-level-folder-to-exclude-1`\$1`/top-level-folder-to-exclude-2`

**包含來源位置上的資料夾子集**  
在某些情況下，您的來源位置可能是大型共用，而且您需要在根目錄下轉移一部分的資料夾。若要包含特定資料夾，請啟動任務執行並包含篩選條件如下。

`/folder-to-transfer/*`

**排除特定檔案類型**  
若要排除傳輸特定檔案類型，您可以建立任務執行並包含排除篩選條件，例如 `*.temp`。

**傳輸您指定的個別檔案**  
若要傳輸個別檔案的清單，請使用包含篩選條件的 啟動任務執行，如下所示："`/folder/subfolder/file1.txt`\$1`/folder/subfolder/file2.txt`\$1`/folder/subfolder/file2.txt`"

## 建立包含篩選條件
<a name="include-filters"></a>

包含篩選條件可定義您希望 DataSync 傳輸的檔案、物件和資料夾。您可以在建立、編輯或啟動任務時設定包含篩選條件。

DataSync 只會掃描和傳輸符合包含篩選條件的檔案和資料夾。例如，若要包含來源資料夾的子集，您可以指定 `/important_folder_1`\$1`/important_folder_2`。

**注意**  
包含篩選條件僅支援萬用字元 (\$1) 字元做為模式中最右側的字元。例如，支援 `/documents*`\$1`/code*`，但`*.txt`不支援。

### 使用 DataSync 主控台
<a name="include-filters-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**要掃描的內容**，選擇**特定檔案、物件和資料夾**，然後選取**使用篩選條件**。

1. 對於**包含**，輸入您的篩選條件 （例如，`/important_folders`要包含重要目錄），然後選擇**新增模式**。

1. 視需要新增其他包含篩選條件。

### 使用 AWS CLI
<a name="include-filters-cli"></a>

使用 時 AWS CLI，如果您有多個篩選條件，則必須在篩選條件周圍使用單引號 (`'`)，並使用 \$1 （管道） 做為分隔符號。

下列範例會在執行 `create-task`命令`/important_folder2`時指定兩個包含篩選條件 `/important_folder1`和 。

```
aws datasync create-task
   --source-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --destination-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --includes FilterType=SIMPLE_PATTERN,Value='/important_folder1|/important_folder2'
```

## 建立排除篩選條件
<a name="exclude-filters"></a>

排除篩選條件會定義您不希望 DataSync 傳輸之來源位置中的檔案、物件和資料夾。您可以在建立、編輯或啟動任務時設定這些篩選條件。

**Topics**
+ [預設排除的資料](#directories-ignored-during-transfers)

### 預設排除的資料
<a name="directories-ignored-during-transfers"></a>

DataSync 會自動排除某些資料傳輸：
+ `.snapshot` – DataSync 會忽略結尾為 的任何路徑`.snapshot`，通常用於儲存系統檔案或目錄的point-in-time快照。
+ `/.aws-datasync` 和 `/.awssync` – DataSync 會在您的位置建立這些資料夾，以協助加速傳輸。
+ `/.zfs` – 您可能會看到此資料夾搭配 Amazon FSx for OpenZFS 位置。

### 使用 DataSync 主控台
<a name="adding-exclude-filters"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 對於**排除**，輸入您的篩選條件 （例如`*/temp`，要排除暫時資料夾），然後選擇**新增模式**。

1. 視需要新增其他排除篩選條件。

1. 如有需要，請新增[包含篩選條件](#include-filters)。

### 使用 AWS CLI
<a name="adding-exclude-filters-cli"></a>

使用 時 AWS CLI，如果您有多個篩選條件，則必須在篩選條件周圍使用單引號 (`'`)，並使用 \$1 （管道） 做為分隔符號。

下列範例會在執行 `create-task`命令`*/tmp`時指定兩個排除篩選條件`*/temp`和 。

```
aws datasync create-task \
   --source-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --destination-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --excludes FilterType=SIMPLE_PATTERN,Value='*/temp|*/tmp'
```

# 了解 DataSync 如何處理檔案和物件中繼資料
<a name="metadata-copied"></a>

AWS DataSync 可以在資料傳輸期間保留您的檔案或物件中繼資料。複製中繼資料的方式取決於您的傳輸位置，以及這些位置是否使用類似的中繼資料類型。

## 系統層級中繼資料
<a name="metadata-copied-system-level"></a>

一般而言，DataSync 不會複製系統層級中繼資料。例如，從 SMB 檔案伺服器傳輸時，您在檔案系統層級設定的許可不會複製到目的地儲存系統。

有例外狀況。在 Amazon S3 和其他物件儲存體之間傳輸時，DataSync 會複製一些[系統定義的物件中繼資料](#metadata-copied-between-object-s3)。

## 在 Amazon S3 傳輸中複製的中繼資料
<a name="metadata-copied-amazon-s3"></a>

下表說明當傳輸涉及 Amazon S3 位置時DataSync 可以複製哪些中繼資料。

**Topics**
+ [至 Amazon S3](#metadata-copied-to-s3)
+ [Amazon S3 與其他物件儲存體之間](#metadata-copied-between-object-s3)
+ [Amazon S3 和 HDFS 之間](#metadata-copied-between-hdfs-s3)

### 至 Amazon S3
<a name="metadata-copied-to-s3"></a>


| 從其中一個位置複製時 | 前往此位置 | DataSync 可以複製 | 
| --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  下列為 Amazon S3 使用者中繼資料： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html) 存放在 Amazon S3 使用者中繼資料中的檔案中繼資料可與使用 的檔案閘道上的 NFS 共用互通 AWS Storage Gateway。檔案閘道可讓您從內部部署網路存取由 DataSync 複製到 Amazon S3 的資料。此中繼資料也可以與 FSx for Lustre 互通。 當 DataSync 將包含此中繼資料的物件複製回 NFS 伺服器時，會還原檔案中繼資料。還原中繼資料需要將提升的許可授予 NFS 伺服器。如需詳細資訊，請參閱[使用 NFS 檔案伺服器設定 AWS DataSync 傳輸](create-nfs-location.md)。  | 

### Amazon S3 與其他物件儲存體之間
<a name="metadata-copied-between-object-s3"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)

### Amazon S3 和 HDFS 之間
<a name="metadata-copied-between-hdfs-s3"></a>


| 在這些位置之間複製時 | DataSync 可以複製 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  | 下列為 Amazon S3 使用者中繼資料：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)HDFS 使用字串來存放檔案和資料夾使用者和群組擁有權，而不是數字識別符，例如 UIDs和 GIDs。 | 

## 在 NFS 傳輸中複製的中繼資料
<a name="metadata-copied-nfs"></a>

下表說明 DataSync 可以在使用網路檔案系統 (NFS) 的位置之間複製哪些中繼資料。


| 在這些位置之間複製時 | DataSync 可以複製 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  | 

## 在 SMB 傳輸中複製的中繼資料
<a name="metadata-copied-smb"></a>

下表說明 DataSync 可以在使用伺服器訊息區塊 (SMB) 的位置之間複製哪些中繼資料。


| 在這些位置之間複製時 | DataSync 可以複製 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  | 

## 在其他傳輸案例中複製的中繼資料
<a name="metadata-copied-different"></a>

DataSync 會在這些儲存系統之間複製 （其中大部分具有不同的中繼資料結構） 時，以下列方式處理中繼資料。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)

## 了解 DataSync 何時以及如何套用預設 POSIX 中繼資料
<a name="POSIX-metadata"></a>

DataSync 會在下列情況下套用預設 POSIX 中繼資料：
+ 當您傳輸的來源和目的地位置沒有類似的中繼資料結構時
+ 當來源位置缺少中繼資料時

下表說明 DataSync 如何在這些類型的傳輸期間套用預設 POSIX 中繼資料：


| 來源 | 目標 | 檔案許可 | 資料夾許可 | UID | GID | 
| --- | --- | --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  0755  | 0755 |  65534  |  65534  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  0644  |  0755  |  65534  |  65534  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  0644  |  0755  |  65534  |  65534  | 

1 如果物件沒有之前由 DataSync 套用的中繼資料。

# 由 複製的連結和目錄 AWS DataSync
<a name="special-files-copied"></a>

AWS DataSync 會根據傳輸所涉及的儲存位置，以不同的方式處理硬連結、符號連結和目錄。

## 硬性連結
<a name="special-files-copied-hard-links"></a>

以下是 DataSync 在一些常見傳輸案例中處理硬連結的方式：
+ **在 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP （使用 NFS) 和 Amazon EFS 之間傳輸**時，會保留硬連結。
+ **傳輸至 Amazon S3 時**，硬連結參考的每個基礎檔案只會傳輸一次。在增量傳輸期間，會在 S3 儲存貯體中建立個別的物件。如果硬連結在 Amazon S3 中保持不變，則在傳輸至 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP （使用 NFS) 或 Amazon EFS 檔案系統時，會正確還原。
+ **傳輸至 時Microsoft Azure Blob Storage**，硬連結參考的每個基礎檔案只會傳輸一次。在增量傳輸期間，如果來源中有新的參考，則會在 Blob 儲存體中建立個別的物件。從 傳輸時Azure Blob Storage，DataSync 會像傳輸個別檔案一樣傳輸硬連結。
+ **在 SMB 檔案伺服器、FSx for Windows File Server 和 FSx for ONTAP （使用 SMB) 之間傳輸**時，不支援硬連結。如果 DataSync 在這些情況下遇到硬連結，則傳輸任務會完成並顯示錯誤。若要進一步了解，請檢查您的 CloudWatch 日誌。
+ **轉移至 HDFS 時**，不支援硬連結。CloudWatch 日誌會將這些連結顯示為略過。

## 符號連結
<a name="special-files-copied-symbolic-links"></a>

以下是 DataSync 在一些常見傳輸案例中處理符號連結的方式：
+ **在 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP （使用 NFS) 和 Amazon EFS 之間傳輸**時，會保留符號連結。
+ **轉移至 Amazon S3 時**，連結目標路徑會存放在 Amazon S3 物件中。在傳輸至 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP 或 Amazon EFS 檔案系統時，連結會正確還原。
+ **轉移至 時Azure Blob Storage**，不支援符號連結。CloudWatch 日誌會將這些連結顯示為略過。
+ **在 SMB 檔案伺服器、FSx for Windows File Server 和 FSx for ONTAP （使用 SMB) 之間傳輸**時，不支援符號連結。DataSync 不會傳輸符號連結本身，而是傳輸符號連結參考的檔案。若要識別重複檔案並使用符號連結重複資料刪除，您必須在目的地檔案系統上設定重複資料刪除。
+ **轉移至 HDFS 時**，不支援符號連結。CloudWatch 日誌會將這些連結顯示為略過。

## 目錄
<a name="special-files-copied-directories"></a>

一般而言，DataSync 會在儲存系統之間傳輸時保留目錄。以下情況並非如此：
+ **轉移至 Amazon S3 時**，目錄會呈現為具有字首並以斜線 () 結尾的空白物件`/`。
+ **Azure Blob Storage 在沒有階層命名空間的情況下轉移到 時**，目錄不存在。目錄看起來只是物件名稱的一部分。

# 設定如何處理檔案、物件和中繼資料
<a name="configure-metadata"></a>

您可以設定 在位置之間傳輸時 AWS DataSync ， 如何處理您的檔案、物件及其相關聯的中繼資料。

例如，透過經常性傳輸，您可能想要使用來源的變更覆寫目的地中的檔案，以保持位置同步。您可以複製屬性，例如檔案和資料夾的 POSIX 許可、與物件相關聯的標籤，以及存取控制清單 ACLs)。

## 傳輸模式選項
<a name="task-option-transfer-mode"></a>

您可以設定 DataSync 是否在每次執行任務時，只傳輸初始複本後變更的資料 （包括中繼資料） 或所有資料。如果您打算定期轉移，您可能只想轉移自上次任務執行以來變更的內容。


| 主控台中的選項 | API 中的選項 | Description | 
| --- | --- | --- | 
|  **僅傳輸已變更的資料**  |  [TransferMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode) 設定為 `CHANGED`  | 初始完全傳輸後，DataSync 只會複製來源和目的地位置之間不同的資料和中繼資料。 | 
|  **傳輸所有資料**  |  [TransferMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode) 設定為 `ALL`  |  DataSync 會將來源中的所有內容複製到目的地，而不比較位置之間的差異。  | 

## 檔案和物件處理選項
<a name="task-option-file-object-handling"></a>

您可以控制 DataSync 如何處理目的地位置中檔案或物件的一些層面。例如，DataSync 可以刪除目的地中不在來源中的檔案。


| 主控台中的選項 | API 中的選項 | Description | 
| --- | --- | --- | 
|  **保留已刪除的檔案**  |  [PreserveDeletedFiles](https://docs.aws.amazon.com/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.aws.amazon.com/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-compatible。對於這些傳輸，DataSync 會`CacheControl`盡力複製中繼資料屬性`ContentEncoding`，例如 `ContentType`、`ContentLanguage`、 和 。如果目的地儲存系統未套用這些屬性，則會在任務驗證期間忽略這些屬性。


| 主控台中的選項 | API 中的選項 | Description | 
| --- | --- | --- | 
|  **複製擁有權**  | [Gid](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Gid) 和 [Uid](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Uid) |  指定 DataSync 是否複製 POSIX 檔案和資料夾擁有權，例如檔案擁有者的群組 ID 和檔案擁有者的使用者 ID。  | 
|  **複製許可**  | [PosixPermissions](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PosixPermissions) |  指定 DataSync 是否將檔案和資料夾的 POSIX 許可從來源複製到目的地。  | 
| 複製時間戳記 | [Atime](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Atime) 和 [Mtime](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Mtime) |  指定 DataSync 是否將時間戳記中繼資料從來源複製到目的地。當您需要執行任務多次時為必要。  | 
| 複製物件標籤 | [ObjectTags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-ObjectTags) |  指定在物件儲存系統之間傳輸時，DataSync 是否保留與物件相關聯的標籤。  | 
| 複製所有權、DACLs 和 SACLs | [SecurityDescriptorCopyFlags ](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 設定為 OWNER\$1DACL\$1SACL |  DataSync 會複製下列項目： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/configure-metadata.html)  | 
| 複製所有權和 DACLs | [SecurityDescriptorCopyFlags ](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 設定為 OWNER\$1DACL |  DataSync 會複製下列項目： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/configure-metadata.html) 當您選擇此選項時，DataSync 不會複製 SACLs。  | 
| 請勿複製所有權或 ACLs | [SecurityDescriptorCopyFlags ](https://docs.aws.amazon.com/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. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS 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.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)

# 設定 AWS DataSync 如何驗證資料完整性
<a name="configure-data-verification-options"></a>

在傳輸期間， AWS DataSync 會使用檢查總和驗證來驗證您在位置之間複製之資料的完整性。您也可以設定 DataSync 在傳輸結束時執行其他驗證。

## 資料驗證選項
<a name="data-verification-options"></a>

使用以下資訊來協助您決定是否希望 DataSync 以及如何執行這些額外的檢查。


| 主控台選項 | API 選項 | Description | 
| --- | --- | --- | 
|  **僅驗證傳輸的資料** （建議）  |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode) 設定為 `ONLY_FILES_TRANSFERRED`  |  DataSync 會在來源位置計算傳輸資料的檢查總和 （包括中繼資料）。在傳輸結束時，DataSync 會將此檢查總和與目的地相同資料的檢查總和進行比較。 傳輸到 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別時，我們建議使用此選項。如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。  | 
|  **驗證所有資料**  |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode) 設定為 `POINT_IN_TIME_CONSISTENT`  |  在傳輸結束時，DataSync 會檢查整個來源和目的地，以確認這兩個位置都完全同步。  當您的任務使用[增強型模式](choosing-task-mode.md)時，不支援 。  如果您使用[資訊清單](transferring-with-manifest.md)，DataSync 只會掃描和驗證資訊清單中列出的內容。 轉移至 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別時，無法使用此選項。如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。  | 
| 請勿在傳輸後驗證資料 |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode) 設定為 `NONE`  | DataSync 只會在傳輸期間執行資料完整性檢查。與其他選項不同，傳輸結束時沒有額外的驗證。 | 

## 設定資料驗證
<a name="configure-data-verification"></a>

您可以在建立任務、更新任務或啟動任務執行時設定資料驗證選項。

### 使用 DataSync 主控台
<a name="configure-data-verification-options-console"></a>

下列指示說明如何在建立任務時設定資料驗證選項。

**使用主控台設定資料驗證**

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**驗證**，請選擇下列其中一項：
   + **僅驗證傳輸的資料** （建議）
   + **驗證所有資料**
   + **請勿在傳輸後驗證資料**

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

您可以設定 DataSync 如何搭配下列任何操作使用 `VerifyMode` 參數來驗證資料：
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)

# 設定 AWS DataSync 任務的頻寬限制
<a name="configure-bandwidth"></a>

您可以為您的 AWS DataSync 任務及其每個執行設定網路頻寬限制。

## 限制任務的頻寬
<a name="configure-bandwidth-create"></a>

在建立、編輯或啟動任務時設定頻寬限制。

### 使用 DataSync 主控台
<a name="configure-bandwidth-create-console"></a>

下列指示說明如何在建立任務時設定任務的頻寬限制。

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**頻寬限制**，選擇下列其中一項：
   + 選取**使用可用**以使用每個任務執行的所有可用網路頻寬。
   + 選取**設定頻寬限制 (MiB/s)**，然後輸入您希望 DataSync 用於每個任務執行的最大頻寬。

### 使用 DataSync API
<a name="configure-bandwidth-create-api"></a>

您可以使用 `BytesPerSecond` 參數搭配下列任何操作來設定任務的頻寬限制：
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)

## 調節任務執行的頻寬
<a name="adjust-bandwidth-throttling"></a>

您可以修改執行中或佇列任務執行的頻寬限制。

### 使用 DataSync 主控台
<a name="adjust-bandwidth-throttling-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在導覽窗格中，展開**資料傳輸**。然後選擇**任務**。

1. 選擇任務，然後選取**歷史記錄**以檢視任務的執行。

1. 選擇您要修改的任務執行，然後選擇**編輯**。

1. 在對話方塊中，選擇下列其中一項：
   + 選取**使用可用**以使用任務執行的所有可用網路頻寬。
   + 選取**設定頻寬限制 (MiB/s)**，然後輸入您希望 DataSync 用於任務執行的最大頻寬。

1. 選擇**儲存變更**。

   新的頻寬限制會在 60 秒內生效。

### 使用 DataSync API
<a name="adjust-bandwidth-throttling-api"></a>

您可以使用 `BytesPerSecond` 參數搭配 [UpdateTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTaskExecution.html) 操作，修改執行中或佇列任務執行的頻寬限制。

# AWS DataSync 任務執行時的排程
<a name="task-scheduling"></a>

您可以設定 AWS DataSync 任務排程，以在儲存位置之間定期傳輸資料。

## DataSync 任務排程的運作方式
<a name="how-task-scheduling-works"></a>

排程的 DataSync 任務會依您指定的頻率執行，最短間隔為 1 小時。您可以使用 Cron 或 Rate 運算式來建立任務排程。

**重要**  
您無法排程任務以超過 1 小時的間隔執行。

**使用 cron 運算式**  
針對在特定時間和日期執行的任務排程使用 cron 表達式。例如，以下說明如何在 中 AWS CLI 設定任務排程，該排程在每週日和週三的 UTC 下午 12：00 執行。  

```
cron(0 12 ? * SUN,WED *)
```

**使用速率表達式**  
針對定期執行的任務排程使用速率表達式，例如每 12 小時一次。例如，以下說明如何在每 12 小時 AWS CLI 執行的 中設定任務排程：  

```
rate(12 hours)
```

**提示**  
如需 Cron 和 Rate 表達式語法的詳細資訊，請參閱《[https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html)》。

## 建立 DataSync 任務排程
<a name="configure-task-schedule"></a>

您可以使用 DataSync 主控台 AWS CLI或 DataSync API 來排程任務執行的頻率。

### 使用 DataSync 主控台
<a name="configure-task-schedule-console"></a>

下列指示說明如何在建立任務時設定排程。您可以在稍後編輯任務時修改排程。

在 主控台中，某些排程選項可讓您指定任務執行的確切時間 （例如每日下午 10：30)。如果您未包含這些選項的時間，您的任務會在您建立 （或更新） 任務時執行。

1. 開啟 AWS DataSync 主控台，網址為 [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)：//。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱 [我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 對於排程**頻率**，請執行下列其中一項操作：
   + 如果您不希望任務按排程執行，請選擇**未排程**。
   + 選擇**每小時**，然後選擇您希望任務執行的小時內的分鐘。
   + 選擇**每日**，然後輸入您希望任務執行的 UTC 時間。
   + 選擇**每週**和星期幾，然後輸入您希望任務執行的 UTC 時間。
   + 選擇**星期幾**，選擇特定日期，然後輸入任務應以 HH：MM 格式執行的 UTC 時間。
   + 選擇**自訂**，然後選取 **Cron 表達**式或 **Rate 表達**式。輸入您的任務排程，最短間隔為 1 小時。

### 使用 AWS CLI
<a name="configure-task-schedule-api"></a>

您可以使用 `--schedule` 參數搭配 `update-task`、 或 `start-task-execution`命令`create-task`，為 DataSync 任務建立排程。

下列指示說明如何使用 `create-task`命令執行此操作。

1. 複製下列`create-task`命令：

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)"
     }'
   ```

1. 針對 `--source-location-arn` 參數，指定您要從中傳輸資料的位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn` 參數，指定您要傳輸資料的位置 ARN。

1. 針對 `--schedule` 參數，指定排程的 cron 或 rate 表達式。

   在此範例中，cron 表達式會`cron(0 12 ? * SUN,WED *)`設定在每週日和週三的 UTC 下午 12：00 執行的任務排程。

1. 執行 `create-task`命令以使用排程建立您的任務。

## 暫停 DataSync 任務排程
<a name="pause-task-schedule"></a>

在某些情況下，您可能需要暫停 DataSync 任務排程。例如，您可能需要暫時停用重複傳輸，以修正任務的問題或對儲存系統執行維護。

DataSync 可能會因為下列原因自動停用您的任務排程：
+ 您的任務重複失敗，並出現相同的錯誤。
+ 您可以[停用任務正在使用 AWS 區域](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的 。

### 使用 DataSync 主控台
<a name="pause-scheduled-task-console"></a>

1. 開啟 AWS DataSync 主控台，網址為 [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)：//。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選擇您要暫停排程的任務，然後選擇**編輯**。

1. 針對**排程**，關閉**啟用排程**。選擇 **Save changes** (儲存變更)。

### 使用 AWS CLI
<a name="pause-scheduled-task-cli"></a>

1. 複製下列`update-task`命令：

   ```
   aws datasync update-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
       "Status": "DISABLED"
     }'
   ```

1. 針對 `--task-arn` 參數，指定您要暫停排程之任務的 ARN。

1. 針對 `--schedule` 參數，執行下列動作：
   + 對於 `ScheduleExpression`，請為您的排程指定 cron 或 rate 表達式。

     在此範例中，表達式會`cron(0 12 ? * SUN,WED *)`設定任務排程，每週日和週三在 UTC 的中午 12：00 執行。
   + 針對 `Status`，指定 `DISABLED` 以暫停任務排程。

1. 執行 `update-task` 命令。

1. 若要繼續排程，請執行相同的`update-task`命令，並將 `Status` 設定為 `ENABLED`。

## 檢查 DataSync 任務排程的狀態
<a name="check-scheduled-task"></a>

您可以查看 DataSync 任務排程是否已啟用。

### 使用 DataSync 主控台
<a name="check-scheduled-task-console"></a>

1. 開啟 AWS DataSync 主控台，網址為 [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)：//。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 在**排程**欄中，檢查任務的排程是否啟用或停用。

### 使用 AWS CLI
<a name="check-scheduled-task-cli"></a>

1. 複製下列`describe-task`命令：

   ```
   aws datasync describe-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. 針對 `--task-arn` 參數，指定您要取得相關資訊之任務的 ARN。

1. 執行 `describe-task` 命令。

您會收到回應，提供任務的詳細資訊，包括其排程。（下列範例主要著重於任務排程組態，不會顯示完整`describe-task`回應。)

此範例顯示任務的排程已手動停用。如果 DataSync 已停用排程`SERVICE`，您會看到 的錯誤訊息`DisabledReason`，以協助您了解任務持續失敗的原因。如需詳細資訊，請參閱[故障診斷 AWS DataSync 問題](troubleshooting-datasync.md)。

```
{
    "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh",
    "Status": "AVAILABLE",
    "Schedule": {
        "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
        "Status": "DISABLED",
        "StatusUpdateTime": 1697736000,
        "DisabledBy": "USER",
        "DisabledReason": "Manually disabled by user."
    },
    ...
}
```

# 標記您的 AWS DataSync 任務
<a name="tagging-tasks"></a>

*標籤*是索引鍵/值對，可協助您管理、篩選和搜尋 AWS DataSync 資源。每個 DataSync 任務和任務執行最多可新增 50 個標籤。

例如，您可以為大型資料遷移建立任務，並使用索引鍵 **Project** 和值 標記任務**Large Migration**。若要進一步組織遷移，您可以使用金鑰**Transfer Date**和值來標記任務的一個執行 **May 2021**（後續任務執行可能會標記 **June 2021**、 **July 2021**等）。

## 標記 DataSync 任務
<a name="tagging-tasks-console"></a>

您只能在建立任務時標記 DataSync 任務。

### 使用 DataSync 主控台
<a name="tagging-tasks-console-steps"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 在**設定設定**頁面上，選擇**新增標籤**以標記您的任務。

### 使用 AWS CLI
<a name="tagging-tasks-cli-steps"></a>

1. 複製下列`create-task`命令：

   ```
   aws datasync create-task \
       --source-location-arn 'arn:aws:datasync:region:account-id:location/source-location-id' \
       --destination-location-arn 'arn:aws:datasync:region:account-id:location/destination-location-id' \
       --tags Key=tag-key,Value=tag-value
   ```

1. 在 命令中指定下列參數：
   + `--source-location-arn` – 指定傳輸中來源位置的 Amazon Resource Name (ARN)。
   + `--destination-location-arn` – 指定傳輸中目的地位置的 ARN。
   + `--tags` – 指定您要套用至任務的標籤。

     對於多個標籤，請以空格分隔每個鍵值對。

1. （選用） 指定其他適用於您傳輸案例的參數。

   如需 的清單`--options`，請參閱 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html) 命令。

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

   您會收到顯示您剛建立之任務的回應。

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-2:123456789012:task/task-abcdef01234567890"
   }
   ```

若要檢視您新增至此任務的標籤，您可以使用 [list-tags-for-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/list-tags-for-resource.html) 命令。

## 標記 DataSync 任務執行
<a name="tagging-task-executions-console"></a>

您可以標記 DataSync 任務的每個執行。

如果您的任務已有標籤，請記住下列有關搭配任務執行使用標籤的事項：
+ 如果您使用 主控台啟動任務，其使用者建立的標籤會自動套用至任務執行。不過，`aws:`不會套用以 開頭的系統建立標籤。
+ 如果您使用 DataSync API 或 啟動任務 AWS CLI，其標籤不會自動套用至任務執行。

### 使用 DataSync 主控台
<a name="tagging-task-executions-console"></a>

若要從任務執行新增、編輯或移除標籤，您必須使用覆寫選項啟動任務。

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選擇對應任務。

1. 選擇**開始**，然後選擇下列其中一個選項：
   + 從**預設值開始** – 套用與您的任務相關聯的任何標籤。
   + 從**覆寫選項開始** – 可讓您新增、編輯或移除此特定任務執行的標籤。

### 使用 AWS CLI
<a name="tagging-task-executions-cli"></a>

1. 複製下列`start-task-execution`命令：

   ```
   aws datasync start-task-execution \
       --task-arn 'arn:aws:datasync:region:account-id:task/task-id' \
       --tags Key=tag-key,Value=tag-value
   ```

1. 在 命令中指定下列參數：
   + `--task-arn` – 指定您要啟動之任務的 ARN。
   + `--tags` – 指定要套用至此特定任務執行的標籤。

     對於多個標籤，請以空格分隔每個鍵值對。

1. （選用） 指定適用於您情況的其他參數。

   如需詳細資訊，請參閱 [start-task-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/start-task-execution.html) 命令。

1. 執行 `start-task-execution` 命令。

   您會收到顯示您剛開始之任務執行的回應。

   ```
   {
       "TaskExecutionArn": "arn:aws:datasync:us-east-2:123456789012:task/task-abcdef01234567890"
   }
   ```

若要檢視您新增至此任務的標籤，您可以使用 [list-tags-for-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/list-tags-for-resource.html) 命令。