

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

# 建立 AWS IoT SiteWise 大量匯入任務 (AWS CLI)
<a name="CreateBulkImportJob"></a>

使用 [CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html) API 操作，將資料從 Amazon S3 傳輸到 AWS IoT SiteWise。[CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html) API 可擷取大量歷史資料，並以小批次緩衝擷取分析資料串流。它為資料擷取提供了經濟實惠的基本概念。下列為使用 AWS CLI的範例。

**重要**  
在建立大量匯入任務之前，您必須啟用 AWS IoT SiteWise 暖層或 AWS IoT SiteWise 冷層。如需詳細資訊，請參閱[在 中設定儲存體設定 AWS IoT SiteWise](configure-storage.md)。  
 [CreateBulkImportJob](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateBulkImportJob.html) API 支援將歷史資料擷取至 ， AWS IoT SiteWise 並可選擇設定adaptive-ingestion-flag參數。  
設為 時`false`，API 會擷取歷史資料，而不會觸發運算或通知。
設為 時`true`，API 會擷取新資料、計算指標和轉換資料，以在七天內最佳化持續的分析和通知。

執行下列命令。將 *file-name* 取代為包含大量匯入任務組態的檔案名稱。

```
aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
```

**Example 大量匯入任務組態**  
以下是組態設定的範例：  
+ 將 *adaptive-ingestion-flag* 取代為 `true`或 `false`。
  + 如果設定為 `false`，大量匯入任務會將歷史資料擷取至 AWS IoT SiteWise。
  + 如果設定為 `true`，大量匯入任務會執行下列動作：
    + 將新資料擷取至 AWS IoT SiteWise。
    + 計算指標和轉換，並支援具有七天內時間戳記的資料通知。
+ 將 *delete-files-after-import-flag* 取代為 `true`，以在擷取至 AWS IoT SiteWise 暖層儲存之後從 Amazon S3 資料儲存貯體中刪除資料。
+ 將 amzn-s3-demo-bucket*-for-errors* 取代為與此大量匯入任務相關聯之錯誤的 Amazon S3 儲存貯體名稱。
+ 將 amzn-s3-demo-bucket*-for-errors-prefix* 取代為與此大量匯入任務相關聯的錯誤的 Amazon S3 儲存貯體字首。

  Amazon S3 使用 字首做為資料夾名稱來組織儲存貯體中的資料。每個 Amazon S3 物件都有一個金鑰，其為儲存貯體中的唯一識別符。儲存貯體中的每個物件只能有一個金鑰。前綴必須以正斜線 (/) 結尾。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[使用字首組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。
+ 將 amzn-s3-demo-bucket*-data* 取代為匯入資料的 Amazon S3 儲存貯體名稱。
+ 將 *data-bucket-key* 取代為包含您資料的 Amazon S3 物件的金鑰。每個物件都有一個唯一識別碼的金鑰。每個物件只有一個金鑰。
+ 將 *data-bucket-version-id* 取代為版本 ID，以識別包含您資料的特定 Amazon S3 物件版本。此為選用參數。
+ 將 *column-name* 取代為 .csv 檔案中指定的資料欄名稱。
+ 將 *job-name* 取代為可識別大量匯入任務的唯一名稱。
+ 將 *job-role-arn* 取代為允許 AWS IoT SiteWise 讀取 Amazon S3 資料的 IAM 角色。
請確定您的角色具有下列範例所示的許可。以包含資料的 Amazon S3 儲存貯體名稱取代 amzn-s3-demo-bucket*-*data。此外，請將 *amzn-s3-demo-bucket-for-errors* 取代為 Amazon S3 儲存貯體的名稱，此儲存貯體會傳送與此大量匯入任務相關聯的錯誤。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-data",
                "arn:aws:s3:::amzn-s3-demo-bucket-data/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-for-errors",
                "arn:aws:s3:::amzn-s3-demo-bucket-for-errors/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

```
{
   "adaptiveIngestion": adaptive-ingestion-flag,
   "deleteFilesAfterImport": delete-files-after-import-flag,       
   "errorReportLocation": { 
      "bucket": "amzn-s3-demo-bucket-for-errors",
      "prefix": "amzn-s3-demo-bucket-for-errors-prefix"
   },
   "files": [ 
      { 
         "bucket": "amzn-s3-demo-bucket-data",
         "key": "data-bucket-key",
         "versionId": "data-bucket-version-id"
      }
   ],
   "jobConfiguration": { 
      "fileFormat": { 
         "csv": { 
            "columnNames": [ "column-name" ]
         }
      }
   },
   "jobName": "job-name",
   "jobRoleArn": "job-role-arn"    
}
```

**Example 回應**  

```
{
   "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5",
   "jobStatus":"PENDING",
   "jobName":"myBulkImportJob"
}
```