本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 AWS IoT SiteWise 大量匯入任務 (AWS CLI)
使用 CreateBulkImportJob API 操作,將資料從 Amazon S3 傳輸到 AWS IoT SiteWise。CreateBulkImportJob API 可擷取大量歷史資料,並以小批次緩衝擷取分析資料串流。它為資料擷取提供了經濟實惠的基礎。下列為使用 AWS CLI的範例。
重要
在建立大量匯入任務之前,您必須啟用 AWS IoT SiteWise 暖層或 AWS IoT SiteWise 冷層。如需詳細資訊,請參閱在 中設定儲存設定 AWS IoT SiteWise。
CreateBulkImportJob 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
範例 大量匯入任務組態
以下是組態設定的範例:
-
以
true
或 取代adaptive-ingestion-flag
false
。-
如果設定為
false
,大量匯入任務會將歷史資料擷取至 AWS IoT SiteWise。 -
如果設定為
true
,大量匯入任務會執行下列動作:-
擷取新資料 AWS IoT SiteWise。
-
計算指標和轉換,並支援 7 天內時間戳記的資料通知。
-
-
-
將
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 使用者指南》中的使用字首組織物件。
-
將 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 角色。
注意
請確定您的角色具有下列範例所示的許可。將 amzn-s3-demo-bucket-data
取代為包含您資料的 Amazon S3 儲存貯體名稱。此外,請將 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
" }
範例 response
{ "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5", "jobStatus":"PENDING", "jobName":"myBulkImportJob" }