

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

# 使用任務報告監控您的資料傳輸
<a name="task-reports"></a>

*任務報告*提供有關任務執行期間嘗試傳輸、略過、驗證和刪除哪些 AWS DataSync 嘗試的詳細資訊。如需詳細資訊，請參閱[DataSync 如何傳輸檔案、物件和目錄](how-datasync-transfer-works.md#transferring-files)。

任務報告會以 JSON 格式產生。您可以在報告中自訂詳細資訊層級：
+ [只有任務報告的摘要](#task-report-types-summary)會提供您任務執行的必要詳細資訊，例如傳輸的檔案數量，以及 DataSync 是否可以驗證這些檔案的資料完整性。
+ [標準任務報告](#task-report-types-standard)包含摘要和詳細報告，其中列出 DataSync 嘗試傳輸、略過、驗證和刪除的每個檔案、物件或資料夾。使用標準任務報告，您也可以指定[報告層級](#task-report-level)，以僅顯示任務執行的錯誤或其成功和錯誤。

## 使用案例
<a name="task-reports-use-cases"></a>

以下是任務報告可協助您監控和稽核資料傳輸的一些情況：
+ 遷移數百萬個檔案時，請快速識別 DataSync 無法傳輸的檔案。
+ 驗證檔案的chain-of-custody程序。

## 僅摘要任務報告
<a name="task-report-types-summary"></a>

僅是任務執行摘要的報告包含下列詳細資訊：
+  AWS 帳戶 執行任務執行的
+ 來源和目的地位置
+ 略過、傳輸、驗證和刪除的檔案、物件和資料夾總數
+ 已傳輸的總位元組數 （邏輯和實體）
+ 如果任務執行已完成、已取消或發生錯誤
+ 開始和結束時間 （包括轉移的總時間）
+ 任務的設定 （例如頻寬限制、資料完整性驗證，以及 DataSync 傳輸的其他選項）

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

標準任務報告包含任務執行的[摘要](#task-report-types-summary)，以及 DataSync 嘗試傳輸、略過、驗證和刪除內容的詳細報告。

**Topics**
+ [報告層級](#task-report-level)
+ [已傳輸的報告](#task-report-types-transferred)
+ [略過的報告](#task-report-types-skipped)
+ [已驗證的報告](#task-report-types-verified)
+ [已刪除的報告](#task-report-types-deleted)

### 報告層級
<a name="task-report-level"></a>

使用標準任務報告，您可以選擇下列其中一個報告層級：
+ 僅限錯誤
+ 成功和錯誤 （基本上是任務執行期間發生的一切清單）

例如，您可能想要查看 DataSync 在傳輸期間成功略過哪些檔案，以及未略過哪些檔案。DataSync 成功略過的檔案可能是您刻意希望 DataSync 排除的檔案，因為它們已存在於目的地位置。不過，執行個體的略過錯誤可能表示 DataSync 沒有讀取檔案的正確許可。

### 已傳輸的報告
<a name="task-report-types-transferred"></a>

DataSync 在任務執行期間嘗試傳輸的檔案、物件和目錄清單。傳輸的報告包含下列詳細資訊：
+ 傳輸資料的路徑
+ 傳輸的內容 （內容、中繼資料或兩者）
+ 中繼資料，包括資料類型、內容大小 （僅限物件和檔案） 等
+ 轉移項目的時間
+ 物件版本 （如果目的地是已啟用版本控制的 Amazon S3 儲存貯體）
+ 如果目的地中覆寫了某個項目
+ 是否成功傳輸項目

**注意**  
在 S3 儲存貯體之間移動資料時，您在[來源位置](create-s3-location.md)中指定的字首可能會顯示在報告 （或 Amazon CloudWatch logs) 中，即使該字首不存在為目的地位置中的物件。（在 DataSync 主控台中，您可能也會注意到此字首顯示為略過或已驗證的資料。)

### 略過的報告
<a name="task-report-types-skipped"></a>

DataSync 在您的來源位置找到但未嘗試傳輸的檔案、物件和目錄清單。DataSync 略過資料的原因可能取決於幾個因素，例如如何設定任務和儲存系統許可。以下是一些範例：
+ 您的來源和目的地位置中存在一個檔案。自上一個任務執行以來，來源中的 檔案尚未修改。由於您[只傳輸已變更的資料](configure-metadata.md#task-option-transfer-mode)，因此 DataSync 不會在您下次執行任務時傳輸該檔案。
+ 存在於兩個位置的物件都會在您的來源中變更。當您執行任務時，DataSync 會略過目的地中的此物件，因為您的任務不會[覆寫目的地中的資料](configure-metadata.md#task-option-file-object-handling)。
+ DataSync 會略過來源中使用[封存儲存類別](create-s3-location.md#using-storage-classes)且未還原的物件。您必須還原封存的物件，DataSync 才能讀取它。
+ DataSync 會略過來源位置中的檔案、物件或目錄，因為它無法讀取。如果發生這種情況，且不預期會發生這種情況，請檢查儲存體的存取許可，並確保 DataSync 可以讀取略過的內容。

略過的報告包含下列詳細資訊：
+ 略過資料的路徑
+ 略過項目的時間
+ 略過的原因
+ 是否成功略過項目

**注意**  
略過的報告在包含成功和錯誤時可能很大，您可以將任務設定為[僅傳輸已變更的資料](configure-metadata.md)，且來源資料已存在於目的地中。

### 已驗證的報告
<a name="task-report-types-verified"></a>

DataSync 在任務執行期間嘗試驗證 完整性的檔案、物件和目錄清單。已驗證的資料報告包含下列詳細資訊：
+ 已驗證資料的路徑
+ 驗證項目的時間
+ 驗證錯誤的原因 （如果有的話）
+ 來源和目的地 SHA256 檢查總和 （僅限 檔案）
+ 項目是否已成功驗證

請注意以下有關已驗證報告的事項：
+ 當您將任務設定為[僅驗證傳輸的資料](configure-data-verification-options.md)時，DataSync 在某些情況下不會驗證目錄，或無法傳輸的檔案或物件。在任何一種情況下，DataSync 都不會在此報告中包含未驗證的資料。
+ 如果您使用的是[增強型模式](choosing-task-mode.md)，如果您要傳輸大型物件，則驗證可能需要比平常更長的時間。

### 已刪除的報告
<a name="task-report-types-deleted"></a>

在任務執行期間刪除的檔案、目錄和物件清單。只有當您將[任務設定為](configure-metadata.md)刪除不在來源的目的地位置中的資料時，DataSync 才會產生此報告。刪除的資料報告包含下列詳細資訊：
+ 已刪除資料的路徑
+ 項目是否已成功刪除
+ 刪除項目的時間

## 任務報告範例
<a name="task-report-example"></a>

任務報告中的詳細資訊層級由您決定。以下是使用下列組態傳輸資料報告的一些範例：
+ **報告類型** – 標準
+ **報告層級** – 成功與錯誤

**注意**  
報告針對時間戳記格式使用 ISO-8601 標準。時間以 UTC 為單位，並以奈秒為單位。此行為與測量其他一些任務報告指標的方式不同。例如，[任務執行詳細資訊](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskExecutionResultDetail.html)，例如 `TransferDuration`和 `VerifyDuration`，以毫秒為單位。

增強型模式任務報告使用的結構描述與基本模式任務報告略有不同。以下範例可協助您了解根據使用[的任務模式](choosing-task-mode.md)，對報告有何預期。

**成功狀態的傳輸資料報告範例**  
下列報告顯示名為 之物件的成功傳輸`object1.txt`。  

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "object1.txt",
        "SourceMetadata": {
            "Type": "Object",
            "ContentSize": 6,
            "LastModified": "2024-10-04T14:40:55Z",
            "SystemMetadata": {
                "ContentType": "binary/octet-stream",
                "ETag": "\"9b2d7e1f8054c3a2041905d0378e6f14\"",
                "ServerSideEncryption": "AES256"
            },
            "UserMetadata": {},
            "Tags": []
        },
        "Overwrite": "False",
        "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP",
        "TransferTimestamp": "2024-10-04T14:48:39.748862183Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "SUCCESS"
    }]
}
```

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "/object1.txt",
        "SrcMetadata": {
            "Type": "Regular",
            "ContentSize": 6,
            "Mtime": "2022-01-07T16:59:26.136114671Z",
            "Atime": "2022-01-07T16:59:26.136114671Z",
            "Uid": 0,
            "Gid": 0,
            "Mode": "0644"
        },
        "Overwrite": "False",
        "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP",
        "TransferTimestamp": "2022-01-07T16:59:45.747270957Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "SUCCESS"
    }]
}
```

**具有錯誤狀態的傳輸資料報告範例**  
下列報告提供 DataSync 無法傳輸名為 之物件的範例`object1.txt`。  
此報告顯示由於許可問題`object1.txt`，DataSync 無法存取名為 的 AWS KMS 物件。（如果您收到類似這樣的錯誤，請參閱 [使用伺服器端加密存取 S3 儲存貯體](create-s3-location.md#create-s3-location-encryption)。)  

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "object1.txt",
        "SourceMetadata": {
            "Type": "Object",
            "ContentSize": 6,
            "LastModified": "2022-10-07T20:48:32Z",
            "SystemMetadata": {
                "ContentType": "binary/octet-stream",
                "ETag": "\"3a7c0b2f1d9e5c4a6f8b2e0d1c9f7a3b2\"",
                "ServerSideEncryption": "AES256"
            },
            "UserMetadata": {},
            "Tags": []
        },
        "Overwrite": "False",
        "TransferTimestamp": "2022-10-09T16:05:11.134040717Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "FAILED",
        "ErrorCode": "AccessDenied",
        "ErrorDetail": "User: arn:aws:sts::111222333444:assumed-role/AWSDataSyncS3Bucket/AwsSync-loc-0b3017fc4ba4a2d8d is not authorized to perform: kms:GenerateDataKey on resource: arn:aws:kms:us-east-1:111222333444:key/1111aaaa-22bb-33cc-44d-5555eeee6666 because no identity-based policy allows the kms:GenerateDataKey action"
    }]
}
```
此報告顯示名為 的物件因為 S3 儲存貯體許可問題`object1.txt`而未傳輸。（如果您收到類似這樣的錯誤，請參閱 [提供對 S3 儲存貯體的 DataSync 存取權](create-s3-location.md#create-s3-location-access)。)  

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "/object1.txt",
        "SrcMetadata": {
            "Type": "Regular",
            "ContentSize": 6,
            "Mtime": "2022-01-07T16:59:26.136114671Z",
            "Atime": "2022-01-07T16:59:26.136114671Z",
            "Uid": 0,
            "Gid": 0,
            "Mode": "0644"
        },
        "Overwrite": "False",
        "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP",
        "TransferTimestamp": "2022-01-07T16:59:45.747270957Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "FAILED",
        "FailureReason": "S3 Get Object Failed",
        "FailureCode": 40974
    }]
}
```

## 限制
<a name="task-report-limitations"></a>
+ 個別任務報告不得超過 5 MB。如果您要複製大量檔案，您的任務報告可能會分割成多個報告。
+ 在某些情況下，建立任務報告可能會影響資料傳輸的效能。例如，當您的網路連線具有高延遲，且您正在傳輸的檔案很小，或者您只複製中繼資料變更時，您可能會注意到這一點。

# 建立 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)。

# 檢視 DataSync 任務報告
<a name="task-report-viewing"></a>

DataSync 會為每個任務執行建立任務報告。執行完成時，您可以在 S3 儲存貯體中找到相關的任務報告。任務報告會以包含任務 IDs的字首進行組織。

若要協助尋找 S3 儲存貯體中的任務報告，請使用下列範例：
+ **僅限摘要任務報告** – `reports-prefix/Summary-Reports/task-id-folder/task-execution-id-folder`
+ **標準任務報告** – `reports-prefix/Detailed-Reports/task-id-folder/task-execution-id-folder`

由於任務報告是 JSON 格式，因此您有幾個選項可以檢視報告：
+ 使用 [Amazon S3 Select](https://docs.aws.amazon.com/AmazonS3/latest/userguide/selecting-content-from-objects.html) 檢視報告。
+ 使用 AWS Glue Amazon Athena 和 Amazon Quick 等 AWS 服務視覺化報告。如需視覺化任務報告的詳細資訊，請參閱 [AWS 儲存部落格](https://aws.amazon.com/blogs/storage/derive-insights-from-aws-datasync-task-reports-using-aws-glue-amazon-athena-and-amazon-quicksight/)。