本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立大量匯入工作 (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
取代為true
或false
。如果設定為
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-arn
Amazon 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" }