

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

# 建立 DataSync 任務報告
<a name="creating-task-report"></a>

AWS DataSync 任務報告只能是任務執行的摘要，或一組有關 DataSync 嘗試傳輸、略過、驗證和刪除內容的詳細報告。

## 先決條件
<a name="setting-up-task-report"></a>

您必須先執行下列動作，才能建立任務報告。

**Topics**
+ [為您的任務報告建立 S3 儲存貯體](#setting-up-task-report-create-bucket)
+ [允許 DataSync 將任務報告上傳到您的 S3 儲存貯體](#task-report-access)

### 為您的任務報告建立 S3 儲存貯體
<a name="setting-up-task-report-create-bucket"></a>

如果您還沒有 S[S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)3 儲存貯體。 DataSync 報告存放在 S3 Standard 儲存類別中。

針對此儲存貯體，我們建議執行下列動作：
+ 如果您打算將資料傳輸到 S3 儲存貯體，如果您[停用**保留已刪除的檔案**選項](configure-metadata.md)，請不要將相同的儲存貯體用於任務報告。否則，DataSync 會在每次執行任務時刪除任何先前的任務報告，因為這些報告不存在於您的來源位置。
+ 若要避免複雜的存取許可設定，請確定您的任務報告儲存貯體與 DataSync 傳輸任務位於相同的 AWS 帳戶 和 區域。

### 允許 DataSync 將任務報告上傳到您的 S3 儲存貯體
<a name="task-report-access"></a>

您必須設定允許 DataSync 將任務報告上傳至 S3 儲存貯體的 AWS Identity and Access Management (IAM) 角色。

在 DataSync 主控台中，您可以建立 IAM 角色，在大多數情況下會自動包含將任務報告上傳至儲存貯體的許可。請注意，從最低權限的角度來看，此自動產生的角色可能不符合您的需求。如果您的儲存貯體使用客戶受管 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 加密，則此角色也無法運作。在這些情況下，只要角色至少執行下列動作，您就可以手動建立角色：
+ [防止角色受信任實體中的跨服務混淆代理人問題](https://docs.aws.amazon.com/datasync/latest/userguide/cross-service-confused-deputy-prevention.html)。

  下列完整範例示範如何使用 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容金鑰，以防止 DataSync 的混淆代理人問題。

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

****  

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

------
+ 允許 DataSync 將任務報告上傳到您的 S3 儲存貯體。

  下列範例透過僅針對儲存貯體中的特定字首 (`reports/`) 包含 `s3:PutObject`動作來執行此操作。

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

****  

  ```
  {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Action": [
                  "s3:PutObject"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::your-task-reports-bucket/reports/*"
          }]
  }
  ```

------
+ 如果您的 S3 儲存貯體使用客戶受管 SSE-KMS 金鑰加密，[金鑰的政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)必須包含 DataSync 用來存取儲存貯體的 IAM 角色。

  如需詳細資訊，請參閱[使用伺服器端加密存取 S3 儲存貯體](create-s3-location.md#create-s3-location-encryption)。

## 建立僅限摘要的任務報告
<a name="creating-task-report-summary"></a>

您只能在建立 DataSync 任務、啟動任務或更新任務時，設定包含[摘要](task-reports.md#task-report-types-summary)的任務報告。

下列步驟說明如何在建立任務時設定僅限摘要任務報告。

### 使用 DataSync 主控台
<a name="creating-task-report-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 儲存貯**體，選擇您希望 DataSync 上傳任務報告的 S3 儲存貯體。
**提示**  
如果您打算將資料傳輸到 S3 儲存貯體，如果您[停用**保留已刪除的檔案**選項](configure-metadata.md)，請不要將相同的儲存貯體用於任務報告。否則，DataSync 會在每次執行任務時刪除任何先前的任務報告，因為這些報告不存在於您的來源位置。

1. 針對**資料夾**，在 DataSync 將報告上傳至 S3 儲存貯體時，輸入要用於任務報告的字首 （例如 **reports/**)。

   請務必在字首結尾包含適當的分隔符號字元。此字元通常是正斜線 (`/`)。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用字首組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。

1. 針對 **IAM role (IAM 角色)**，執行以下其中一項作業：
   + 選擇**自動產生**，讓 DataSync 自動建立具有存取 S3 儲存貯體所需許可的 IAM 角色。

     如果 DataSync 先前為此 S3 儲存貯體建立 IAM 角色，預設會選擇該角色。
   + 選擇您建立的自訂 IAM 角色。

     在某些情況下，您可能需要自行建立角色。如需詳細資訊，請參閱[允許 DataSync 將任務報告上傳到您的 S3 儲存貯體](#task-report-access)。
**重要**  
如果您的 S3 儲存貯體使用客戶管理的 SSE-KMS 金鑰加密，金鑰的政策必須包含 DataSync 用來存取儲存貯體的 IAM 角色。  
如需詳細資訊，請參閱[使用伺服器端加密存取 S3 儲存貯體](create-s3-location.md#create-s3-location-encryption)。

1. 完成建立任務，然後[啟動任務](run-task.md)以開始傳輸資料。

傳輸完成時，您可以[檢視任務報告](task-report-viewing.md)。

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

1. 複製下列 `create-task` AWS Command Line Interface (AWS CLI) 命令：

   ```
   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 \
     --task-report-config '{
       "Destination":{
         "S3":{
           "Subdirectory":"reports/",
           "S3BucketArn":"arn:aws:s3:::your-task-reports-bucket",
           "BucketAccessRoleArn":"arn:aws:iam::123456789012:role/bucket-iam-role"
           }
       },
       "OutputType":"SUMMARY_ONLY"  
     }'
   ```

1. 針對 `--source-location-arn` 參數，指定傳輸中來源位置的 Amazon Resource Name (ARN)。`us-east-1` 以適當的 取代 AWS 區域，`123456789012`以適當的 AWS 帳戶 數字取代 ，並以適當的來源位置 ID 取代 `12345678abcdefgh` 。

1. 針對 `--destination-location-arn` 參數，指定傳輸中目的地位置的 ARN。`us-east-1` 以適當的 取代 AWS 區域，`123456789012`以適當的 AWS 帳戶 數字取代 ，並以適當的目的地位置 ID 取代 `abcdefgh12345678` 。

1. 針對 `--task-report-config` 參數，請執行下列動作：
   + `Subdirectory` – `reports/`將 取代為您希望 DataSync 上傳任務報告的 S3 儲存貯體中的字首。

     請務必在字首結尾包含適當的分隔符號字元。此字元通常是正斜線 (`/`)。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用字首組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。
   + `S3BucketArn` – 指定您要上傳任務報告的 S3 儲存貯體 ARN。
**提示**  
如果您打算將資料傳輸到 S3 儲存貯體，如果您[停用**保留已刪除的檔案**選項](configure-metadata.md)，請不要將相同的儲存貯體用於任務報告。否則，DataSync 會在每次執行任務時刪除任何先前的任務報告，因為這些報告不存在於您的來源位置。
   + `BucketAccessRoleArn` – 指定允許 DataSync 將任務報告上傳至 S3 儲存貯體的 IAM 角色。

     如需詳細資訊，請參閱[允許 DataSync 將任務報告上傳到您的 S3 儲存貯體](#task-report-access)。
**重要**  
如果您的 S3 儲存貯體使用客戶管理的 SSE-KMS 金鑰加密，金鑰的政策必須包含 DataSync 用來存取儲存貯體的 IAM 角色。  
如需詳細資訊，請參閱[使用伺服器端加密存取 S3 儲存貯體](create-s3-location.md#create-s3-location-encryption)。
   + `OutputType` – 指定 `SUMMARY_ONLY`。

     如需詳細資訊，請參閱[僅摘要任務報告](task-reports.md#task-report-types-summary)。

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

   您會收到如下所示的回應，顯示您建立之任務的 ARN。您需要此 ARN 才能執行 `start-task-execution`命令。

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh"
   }
   ```

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

   ```
   aws datasync-task-report start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. 針對 `--task-arn` 參數，指定您要啟動之任務的 ARN。使用您從執行 `create-task`命令收到的 ARN。

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

傳輸完成時，您可以[檢視任務報告](task-report-viewing.md)。

## 建立標準任務報告
<a name="creating-task-report-standard"></a>

您可以在建立 DataSync 任務、啟動任務或更新任務時設定[標準任務報告](task-reports.md#task-report-types-standard)。

下列步驟說明如何在建立任務時設定標準任務報告。

### 使用 DataSync 主控台
<a name="ccreating-task-report-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. 針對**報告層級**，選擇下列其中一項：
   + **僅限錯誤** – 您的任務報告僅包含 DataSync 嘗試傳輸、略過、驗證和刪除的問題。
   + **成功和錯誤** – 您的任務報告包含 DataSync 成功傳輸、略過、驗證和刪除的內容，以及未成功傳輸的內容。
   + **自訂** – 可讓您選擇是否只看到錯誤或任務報告特定方面的成功和錯誤。

     例如，您可以為傳輸的檔案清單選擇**成功和錯誤**，但**錯誤僅適用於**報告的其餘部分。

1. 如果您要轉移到使用物件版本控制的 S3 儲存貯體，如果您希望報告包含每個傳輸**物件的新版本，請保持選取包含 Amazon S3 ** 物件版本。

1. 針對**報告的 S3 儲存貯**體，選擇您希望 DataSync 上傳任務報告的 S3 儲存貯體。
**提示**  
如果您打算將資料傳輸到 S3 儲存貯體，如果您[停用**保留已刪除的檔案**選項](configure-metadata.md)，請不要將相同的儲存貯體用於任務報告。否則，DataSync 會在每次執行任務時刪除任何先前的任務報告，因為這些報告不存在於您的來源位置。

1. 針對**資料夾**，在 DataSync 將報告上傳至 S3 儲存貯體時，輸入要用於任務報告的字首 （例如 **reports/**)。請務必在字首結尾包含適當的分隔符號字元。此字元通常是正斜線 (`/`)。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用字首組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。

1. 針對 **IAM role (IAM 角色)**，執行以下其中一項作業：
   + 選擇**自動產生**，讓 DataSync 自動建立具有存取 S3 儲存貯體所需許可的 IAM 角色。

     如果 DataSync 先前為此 S3 儲存貯體建立 IAM 角色，預設會選擇該角色。
   + 選擇您建立的自訂 IAM 角色。

     在某些情況下，您可能需要自行建立角色。如需詳細資訊，請參閱[允許 DataSync 將任務報告上傳到您的 S3 儲存貯體](#task-report-access)。
**重要**  
如果您的 S3 儲存貯體使用客戶管理的 SSE-KMS 金鑰加密，金鑰的政策必須包含 DataSync 用來存取儲存貯體的 IAM 角色。  
如需詳細資訊，請參閱[使用伺服器端加密存取 S3 儲存貯體](create-s3-location.md#create-s3-location-encryption)。

1. 完成建立任務並[啟動任務](run-task.md)以開始傳輸資料。

傳輸完成時，您可以[檢視任務報告](task-report-viewing.md)。

### 使用 AWS CLI
<a name="creating-task-report-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 \
     --task-report-config '{
       "Destination":{
         "S3":{
           "Subdirectory":"reports/",
           "S3BucketArn":"arn:aws:s3:::your-task-reports-bucket",
           "BucketAccessRoleArn":"arn:aws:iam::123456789012:role/bucket-iam-role"
           }
       },
       "OutputType":"STANDARD",
       "ReportLevel":"level-of-detail",
       "ObjectVersionIds":"include-or-not"    
     }'
   ```

1. 針對 `--source-location-arn` 參數，指定傳輸中來源位置的 ARN。`us-east-1` 以適當的 取代 AWS 區域，`123456789012`以適當的 AWS 帳戶 數字取代 ，並以適當的來源位置 ID 取代 `12345678abcdefgh` 。

1. 針對 `--destination-location-arn` 參數，指定傳輸中目的地位置的 ARN。`us-east-1` 以適當的 取代 AWS 區域，`123456789012`以適當的 AWS 帳戶 號碼取代 ，並以適當的目的地位置 ID 取代 `abcdefgh12345678` 。

1. 針對 `--task-report-config` 參數，請執行下列動作：
   + `Subdirectory` – `reports/`將 取代為 S3 儲存貯體中您希望 DataSync 上傳任務報告的字首。請務必在字首結尾包含適當的分隔符號字元。此字元通常是正斜線 (`/`)。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用字首組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。
   + `S3BucketArn` – 指定您要上傳任務報告的 S3 儲存貯體 ARN。
**提示**  
如果您打算將資料傳輸到 S3 儲存貯體，如果您[停用**保留已刪除的檔案**選項](configure-metadata.md)，請不要將相同的儲存貯體用於任務報告。否則，DataSync 會在每次執行任務時刪除任何先前的任務報告，因為這些報告不存在於您的來源位置。
   + `BucketAccessRoleArn` – 指定允許 DataSync 將任務報告上傳至 S3 儲存貯體的 IAM 角色。

     如需詳細資訊，請參閱[允許 DataSync 將任務報告上傳到您的 S3 儲存貯體](#task-report-access)。
**重要**  
如果您的 S3 儲存貯體使用客戶管理的 SSE-KMS 金鑰加密，金鑰的政策必須包含 DataSync 用來存取儲存貯體的 IAM 角色。  
如需詳細資訊，請參閱[使用伺服器端加密存取 S3 儲存貯體](create-s3-location.md#create-s3-location-encryption)。
   + `OutputType` – 指定`STANDARD`報告。

     如需詳細資訊，請參閱任務報告的[標準任務報告](task-reports.md#task-report-types-standard)類型。
   + （選用） `ReportLevel` – 在`SUCCESSES_AND_ERRORS`報告中指定您想要 `ERRORS_ONLY`（預設值） 還是 。
   + （選用） `ObjectVersionIds` – 如果您要轉移到使用物件版本控制的 S3 儲存貯體，請指定`NONE`您是否不想在報告中包含每個已傳輸物件的新版本。

     根據預設，此選項會設為 `INCLUDE`。
   + （選用） `Overrides` – 自訂報告`ReportLevel`特定層面的 。

     例如，您可能想要查看 ，`SUCCESSES_AND_ERRORS`以取得 DataSync 在目的地位置刪除的項目清單，但您想要`ERRORS_ONLY`其他項目。在此範例中，您會將下列`Overrides`選項新增至 `--task-report-config` 參數：

     ```
     "Overrides":{
       "Deleted":{
         "ReportLevel":"SUCCESSES_AND_ERRORS"
       }
     }
     ```

     如果您不使用 `Overrides`，則整個報告會使用`ReportLevel`您指定的 。

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

   您會收到如下所示的回應，顯示您建立之任務的 ARN。您需要此 ARN 才能執行 `start-task-execution`命令。

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh"
   }
   ```

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

   ```
   aws datasync-task-report start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. 針對 `--task-arn` 參數，指定您正在執行之任務的 ARN。使用您從執行 `create-task`命令收到的 ARN。

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

傳輸完成時，您可以[檢視任務報告](task-report-viewing.md)。