建立大量匯入工作 (AWS CLI) - AWS IoT SiteWise

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

建立大量匯入工作 (AWS CLI)

使用 CreateBulkImportJobAPI 操作將資料從 Amazon S3 傳輸到 AWS IoT SiteWise. CreateBulkImportJobAPI 可擷取大量歷史資料,並以小批次緩衝擷取分析資料串流。它為資料擷取提供了符合成本效益的原始元件。下列為使用 AWS CLI的範例。

重要

建立大量匯入工作之前,您必須啟用 AWS IoT SiteWise 暖層或 AWS IoT SiteWise 冷層。如需詳細資訊,請參閱 設定儲存區設定

CreateBulkImportJobAPI 支援擷取歷史資料,並提 AWS IoT SiteWise 供設定 adaptive-ingestion-flag 參數的選項。

  • 設定為時false,API 會在不觸發計算或通知的情況下擷取歷史資料。

  • 設定為時true,API 會擷取新資料、計算指標並轉換資料,以便在七天內最佳化持續分析和通知。

執行下列命令。將檔案名稱取代為包含大量匯入工作組態的檔案名稱。

aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
範例 大量匯入工作組態

以下是組態設定的範例:

  • adaptive-ingestion-flag 取代為 truefalse

    • 如果設定為false,大量匯入工作會將歷史資料擷取到中 AWS IoT SiteWise。

    • 如果設定為true,大量匯入工作會執行下列動作:

      • 將新資料擷取至 AWS IoT SiteWise。

      • 計算量度和轉換,並支援具有七天內時間戳記的資料通知。

  • delete-files-after-import-flag 取代為,可在擷取true至 AWS IoT SiteWise 暖層儲存後從 S3 資料儲存貯體刪除資料。

  • 錯誤值區取代為傳送與此大量匯入任務相關聯之錯誤的 Amazon S3 儲存貯體的名稱。

  • 以傳送error-bucket-prefix與此大量匯入任務相關聯之錯誤的 Amazon S3 儲存貯體的前置詞取代。

    Amazon S3 使用前置詞做為資料夾名稱來組織儲存貯體中的資料。每個 Amazon S3 物件都有一個金鑰,即儲存貯體中的唯一識別碼。儲存貯體中的每個物件只能有一個金鑰。前綴必須以正斜線 (/) 結尾。如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的使用前置詞組織物件

  • 將資料儲存貯體取代為從中匯入資料的 Amazon S3 儲存貯體的名稱。

  • data-bucket-key以包含您資料的 Amazon S3 物件的金鑰取代。每個物件都有一個唯一識別碼的金鑰。每個物件只有一個金鑰。

  • data-bucket-version-id以版本 ID 取代,以識別包含您資料的特定 Amazon S3 物件版本。此為選用參數。

  • 以 .csv 檔案中指定的欄名稱取代資料行名稱。

  • 以識別大量匯入作的唯一名稱取代工作名稱。

  • AWS IoT SiteWise 以允許讀取 job-role-arnAmazon S3 資料的 IAM 角色取代。

注意

請確定您的角色具有下列範例中顯示的權限。將資料儲存貯體取代為包含資料的 Amazon S3 儲存貯體的名稱。此外,請將錯誤值區取代為傳送與此大量匯入任務相關聯之錯誤的 Amazon S3 儲存貯體的名稱。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::data-bucket", "arn:aws:s3:::data-bucket/*", ], "Effect": "Allow" }, { "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::error-bucket", "arn:aws:s3:::error-bucket/*" ], "Effect": "Allow" } ] }
{ "adaptiveIngestion": adaptive-ingestion-flag, "deleteFilesAfterImport": delete-files-after-import-flag, "errorReportLocation": { "bucket": "error-bucket", "prefix": "error-bucket-prefix" }, "files": [ { "bucket": "data-bucket", "key": "data-bucket-key", "versionId": "data-bucket-version-id" } ], "jobConfiguration": { "fileFormat": { "csv": { "columnNames": [ "column-name" ] } } }, "jobName": "job-name", "jobRoleArn": "job-role-arn" }
範例 response
{ "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5", "jobStatus":"PENDING", "jobName":"myBulkImportJob" }