本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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
範例 大量匯入任務組態
以下是組態設定的範例:
-
將
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 使用者指南》中的使用字首組織物件。
-
將 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"
}