本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建批量导入作业(Amazon CLI)
使用 CreateBulkImportJobAPI 操作将数据从 Amazon S3 传输到 Amazon IoT SiteWise。CreateBulkImportJobAPI 支持摄取大量历史数据,并支持小批量缓冲摄取分析数据流。它为数据摄取提供了一种经济实惠的基元。下面的示例使用了 Amazon CLI。
重要
在创建批量导入任务之前,必须启用 Amazon IoT SiteWise 热层或 Amazon IoT SiteWise 冷层。有关更多信息,请参阅 配置存储设置。
CreateBulkImportJobAPI 支持将历史数据提取到, Amazon 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
,则批量导入任务会将 Amazon IoT SiteWise历史数据提取到。如果设置为
true
,则批量导入任务将执行以下操作:将新数据摄入。 Amazon IoT SiteWise
计算指标和转换,并支持对时间戳在七天以内的数据发出通知。
-
将
delete-files-after-import-flag
替换true
为可在将数据摄入到 Amazon IoT SiteWise 温层存储后从 S3 数据存储桶中删除。 -
将
error-bucket
替换为 Amazon S3 存储桶的名称,与此批量导入作业相关的错误将发送到该存储桶。 -
error-bucket-prefix
替换为发送与此批量导入任务相关的错误的 Amazon S3 存储桶的前缀。Amazon S3 使用前缀作为文件夹名称来整理存储桶中的数据。每个 Amazon S3 对象都有一个键,作为对象在存储桶中的唯一标识符。桶内的每个对象都只能有一个键。前缀必须以正斜杠(/)结尾。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的使用前缀整理对象。
-
将
data-bucket
替换为从中导入数据的 Amazon S3 存储桶的名称。 -
data-bucket-key
替换为包含您的数据的 Amazon S3 对象的密钥。每个对象都有一个作为唯一标识符的键。每个对象有且只有一个键。 -
data-bucket-version-id
替换为版本 ID,以识别包含您的数据的 Amazon S3 对象的特定版本。此参数为可选的。 -
将
column-name
替换为.csv 文件中指定的列名。 -
将
job-name
替换为标识批量导入作业的唯一名称。 -
job-role-arn
替换为允许 Amazon IoT SiteWise 读取 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
" }
例 响应
{ "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5", "jobStatus":"PENDING", "jobName":"myBulkImportJob" }