AWS IoT Analytics 使用示例 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS IoT Analytics 使用示例 AWS CLI

以下代码示例向您展示了如何使用with来执行操作和实现常见场景 AWS IoT Analytics。 AWS Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例显示了如何使用batch-put-message

AWS CLI

向频道发送消息

以下batch-put-message示例向指定频道发送消息。

aws iotanalytics batch-put-message \ --cli-binary-format raw-in-base64-out \ --cli-input-json file://batch-put-message.json

batch-put-message.json 的内容:

{ "channelName": "mychannel", "messages": [ { "messageId": "0001", "payload": "eyAidGVtcGVyYXR1cmUiOiAyMCB9" } ] }

输出:

{ "batchPutMessageErrorEntries": [] }

有关更多信息,请参阅BatchPutMessageAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用cancel-pipeline-reprocessing

AWS CLI

取消通过管道对数据的重新处理

以下cancel-pipeline-reprocessing示例取消了通过指定管道对数据的重新处理。

aws iotanalytics cancel-pipeline-reprocessing \ --pipeline-name mypipeline \ --reprocessing-id "6ad2764f-fb13-4de3-b101-4e74af03b043"

此命令不生成任何输出。

有关更多信息,请参阅CancelPipelineReprocessingAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用create-channel

AWS CLI

创建频道

以下create-channel示例创建了一个具有指定配置的频道。频道从MQTT主题收集数据并存档未经处理的原始消息,然后再将数据发布到管道。

aws iotanalytics create-channel \ --cli-input-json file://create-channel.json

create-channel.json 的内容:

{ "channelName": "mychannel", "retentionPeriod": { "unlimited": true }, "tags": [ { "key": "Environment", "value": "Production" } ] }

输出:

{ "channelArn": "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel", "channelName": "mychannel", "retentionPeriod": { "unlimited": true } }

有关更多信息,请参阅CreateChannelAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用create-dataset-content

AWS CLI

创建数据集的内容

以下create-dataset-content示例通过应用(SQL查询)或 queryActioncontainerAction(执行容器化应用程序)来创建指定数据集的内容。

aws iotanalytics create-dataset-content \ --dataset-name mydataset

输出:

{ "versionId": "d494b416-9850-4670-b885-ca22f1e89d62" }

有关更多信息,请参阅CreateDatasetContentAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用create-dataset

AWS CLI

创建数据集

以下create-dataset示例创建了一个数据集。数据集存储通过应用(SQL查询)或 queryActioncontainerAction(执行容器化应用程序)从数据存储中检索的数据。此操作创建数据集的骨架。您可以通过调用手动填充数据集,CreateDatasetContent也可以根据trigger您指定的自动填充数据集。

aws iotanalytics create-dataset \ --cli-input-json file://create-dataset.json

create-dataset.json 的内容:

{ "datasetName": "mydataset", "actions": [ { "actionName": "myDatasetAction", "queryAction": { "sqlQuery": "SELECT * FROM mydatastore" } } ], "retentionPeriod": { "unlimited": true }, "tags": [ { "key": "Environment", "value": "Production" } ] }

输出:

{ "datasetName": "mydataset", "retentionPeriod": { "unlimited": true }, "datasetArn": "arn:aws:iotanalytics:us-west-2:123456789012:dataset/mydataset" }

有关更多信息,请参阅CreateDatasetAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用create-datastore

AWS CLI

创建数据存储

以下create-datastore示例创建了一个数据存储,它是一个消息存储库。

aws iotanalytics create-datastore \ --cli-input-json file://create-datastore.json

create-datastore.json 的内容:

{ "datastoreName": "mydatastore", "retentionPeriod": { "numberOfDays": 90 }, "tags": [ { "key": "Environment", "value": "Production" } ] }

输出:

{ "datastoreName": "mydatastore", "datastoreArn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/mydatastore", "retentionPeriod": { "numberOfDays": 90, "unlimited": false } }

有关更多信息,请参阅CreateDatastoreAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用create-pipeline

AWS CLI

创建 IoT Analytics 管道

以下create-pipeline示例创建了一个管道。管道使用来自通道的消息,并允许您在将消息存储在数据存储之前处理消息。您必须同时指定通道和数据存储活动,并可选择在pipelineActivities数组中指定多达 23 个其他活动。

aws iotanalytics create-pipeline \ --cli-input-json file://create-pipeline.json

create-pipeline.json 的内容:

{ "pipelineName": "mypipeline", "pipelineActivities": [ { "channel": { "name": "myChannelActivity", "channelName": "mychannel", "next": "myMathActivity" } }, { "datastore": { "name": "myDatastoreActivity", "datastoreName": "mydatastore" } }, { "math": { "name": "myMathActivity", "math": "((temp - 32) * 5.0) / 9.0", "attribute": "tempC", "next": "myDatastoreActivity" } } ], "tags": [ { "key": "Environment", "value": "Beta" } ] }

输出:

{ "pipelineArn": "arn:aws:iotanalytics:us-west-2:123456789012:pipeline/mypipeline", "pipelineName": "mypipeline" }

有关更多信息,请参阅CreatePipelineAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用delete-channel

AWS CLI

删除 IoT Analytics 频道

以下delete-channel示例删除了指定的频道。

aws iotanalytics delete-channel \ --channel-name mychannel

此命令不生成任何输出。

有关更多信息,请参阅DeleteChannelAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用delete-dataset-content

AWS CLI

删除数据集内容

以下delete-dataset-content示例删除了指定数据集的内容。

aws iotanalytics delete-dataset-content \ --dataset-name mydataset

此命令不生成任何输出。

有关更多信息,请参阅DeleteDatasetContentAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用delete-dataset

AWS CLI

删除数据集

以下delete-dataset示例删除了指定的数据集。在执行此操作之前,您不必删除数据集的内容。

aws iotanalytics delete-dataset \ --dataset-name mydataset

此命令不生成任何输出。

有关更多信息,请参阅DeleteDatasetAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用delete-datastore

AWS CLI

删除数据存储

以下delete-datastore示例删除了指定的数据存储。

aws iotanalytics delete-datastore \ --datastore-name mydatastore

此命令不生成任何输出。

有关更多信息,请参阅DeleteDatastoreAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用delete-pipeline

AWS CLI

删除管道

以下delete-pipeline示例删除了指定的管道。

aws iotanalytics delete-pipeline \ --pipeline-name mypipeline

此命令不生成任何输出。

有关更多信息,请参阅DeletePipelineAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用describe-channel

AWS CLI

检索有关频道的信息

以下describe-channel示例显示了指定频道的详细信息,包括统计信息。

aws iotanalytics describe-channel \ --channel-name mychannel \ --include-statistics

输出:

{ "statistics": { "size": { "estimatedSizeInBytes": 402.0, "estimatedOn": 1561504380.0 } }, "channel": { "status": "ACTIVE", "name": "mychannel", "lastUpdateTime": 1557860351.001, "creationTime": 1557860351.001, "retentionPeriod": { "unlimited": true }, "arn": "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" } }

有关更多信息,请参阅DescribeChannelAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用describe-dataset

AWS CLI

检索有关数据集的信息

以下describe-dataset示例显示了指定数据集的详细信息。

aws iotanalytics describe-dataset \ --dataset-name mydataset

输出:

{ "dataset": { "status": "ACTIVE", "contentDeliveryRules": [], "name": "mydataset", "lastUpdateTime": 1557859240.658, "triggers": [], "creationTime": 1557859240.658, "actions": [ { "actionName": "query_32", "queryAction": { "sqlQuery": "SELECT * FROM mydatastore", "filters": [] } } ], "retentionPeriod": { "numberOfDays": 90, "unlimited": false }, "arn": "arn:aws:iotanalytics:us-west-2:123456789012:dataset/mydataset" } }

有关更多信息,请参阅DescribeDatasetAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用describe-datastore

AWS CLI

检索有关数据存储的信息

以下describe-datastore示例显示了指定数据存储的详细信息,包括统计信息。

aws iotanalytics describe-datastore \ --datastore-name mydatastore \ --include-statistics

输出:

{ "datastore": { "status": "ACTIVE", "name": "mydatastore", "lastUpdateTime": 1557858971.02, "creationTime": 1557858971.02, "retentionPeriod": { "unlimited": true }, "arn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/mydatastore" }, "statistics": { "size": { "estimatedSizeInBytes": 397.0, "estimatedOn": 1561592040.0 } } }

有关更多信息,请参阅DescribeDatastoreAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用describe-logging-options

AWS CLI

检索当前的日志记录选项

以下describe-logging-options示例显示了当前的 AWS IoT Analytics 日志选项。

aws iotanalytics describe-logging-options

此命令不生成任何输出。输出:

{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/service-role/myIoTAnalyticsRole", "enabled": true, "level": "ERROR" } }

有关更多信息,请参阅DescribeLoggingOptionsAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用describe-pipeline

AWS CLI

检索有关管道的信息

以下describe-pipeline示例显示了指定管道的详细信息。

aws iotanalytics describe-pipeline \ --pipeline-name mypipeline

输出:

{ "pipeline": { "activities": [ { "channel": { "channelName": "mychannel", "name": "mychannel_28", "next": "mydatastore_29" } }, { "datastore": { "datastoreName": "mydatastore", "name": "mydatastore_29" } } ], "name": "mypipeline", "lastUpdateTime": 1561676362.515, "creationTime": 1557859124.432, "reprocessingSummaries": [ { "status": "SUCCEEDED", "creationTime": 1561676362.189, "id": "6ad2764f-fb13-4de3-b101-4e74af03b043" } ], "arn": "arn:aws:iotanalytics:us-west-2:123456789012:pipeline/mypipeline" } }

有关更多信息,请参阅DescribePipelineAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用get-dataset-content

AWS CLI

检索数据集的内容

以下get-dataset-content示例按预先URIs签名的方式检索数据集的内容。

aws iotanalytics get-dataset-content --dataset-name mydataset

输出:

{ "status": { "state": "SUCCEEDED" }, "timestamp": 1557863215.995, "entries": [ { "dataURI": "https://aws-radiant-dataset-12345678-1234-1234-1234-123456789012.s3.us-west-2.amazonaws.com/results/12345678-e8b3-46ba-b2dd-efe8d86cf385.csv?X-Amz-Security-Token=...-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190628T173437Z&X-Amz-SignedHeaders=host&X-Amz-Expires=7200&X-Amz-Credential=...F20190628%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=..." } ] }

有关更多信息,请参阅指南GetDatasetContent中的。

以下代码示例显示了如何使用list-channels

AWS CLI

检索频道列表

以下list-channels示例显示可用频道的摘要信息。

aws iotanalytics list-channels

输出:

{ "channelSummaries": [ { "status": "ACTIVE", "channelName": "mychannel", "creationTime": 1557860351.001, "lastUpdateTime": 1557860351.001 } ] }

有关更多信息,请参阅ListChannelsAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用list-dataset-contents

AWS CLI

列出有关数据集内容的信息

以下list-dataset-contents示例列出了有关已创建的数据集内容的信息。

aws iotanalytics list-dataset-contents \ --dataset-name mydataset

输出:

{ "datasetContentSummaries": [ { "status": { "state": "SUCCEEDED" }, "scheduleTime": 1557863215.995, "version": "b10ea2a9-66c1-4d99-8d1f-518113b738d0", "creationTime": 1557863215.995 } ] }

有关更多信息,请参阅ListDatasetContentsAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用list-datasets

AWS CLI

检索有关数据集的信息

以下list-datasets示例列出了有关可用数据集的摘要信息。

aws iotanalytics list-datasets

输出:

{ "datasetSummaries": [ { "status": "ACTIVE", "datasetName": "mydataset", "lastUpdateTime": 1557859240.658, "triggers": [], "creationTime": 1557859240.658, "actions": [ { "actionName": "query_32", "actionType": "QUERY" } ] } ] }

有关更多信息,请参阅ListDatasetsAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用list-datastores

AWS CLI

检索数据存储列表

以下list-datastores示例显示有关可用数据存储的摘要信息。

aws iotanalytics list-datastores

输出:

{ "datastoreSummaries": [ { "status": "ACTIVE", "datastoreName": "mydatastore", "creationTime": 1557858971.02, "lastUpdateTime": 1557858971.02 } ] }

有关更多信息,请参阅ListDatastoresAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用list-pipelines

AWS CLI

检索管道列表

以下list-pipelines示例显示了可用管道的列表。

aws iotanalytics list-pipelines

输出:

{ "pipelineSummaries": [ { "pipelineName": "mypipeline", "creationTime": 1557859124.432, "lastUpdateTime": 1557859124.432, "reprocessingSummaries": [] } ] }

有关更多信息,请参阅ListPipelinesAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用list-tags-for-resource

AWS CLI

列出资源的标签

以下list-tags-for-resource示例列出了您已附加到指定资源的标签。

aws iotanalytics list-tags-for-resource \ --resource-arn "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel"

输出:

{ "tags": [ { "value": "bar", "key": "foo" } ] }

有关更多信息,请参阅ListTagsForResourceAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用put-logging-options

AWS CLI

设置或更新日志记录选项

以下put-logging-options示例设置或更新 AWS IoT Analytics 日志选项。如果您更新任何loggingOptions字段的值,则更改最多可能需要一分钟才能生效。此外,如果您更改附加到您在 “roleArn” 字段中指定的角色的策略(例如,更正无效的策略),则该更改最多可能需要五分钟才能生效。

aws iotanalytics put-logging-options \ --cli-input-json file://put-logging-options.json

put-logging-options.json 的内容:

{ "loggingOptions": { "roleArn": "arn:aws:iam::123456789012:role/service-role/myIoTAnalyticsRole", "level": "ERROR", "enabled": true } }

此命令不生成任何输出。

有关更多信息,请参阅PutLoggingOptionsAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用run-pipeline-activity

AWS CLI

模拟管道活动

以下run-pipeline-activity示例模拟了在消息负载上运行管道活动的结果。

aws iotanalytics run-pipeline-activity \ --pipeline-activity file://maths.json \ --payloads file://payloads.json

maths.json 的内容:

{ "math": { "name": "MyMathActivity", "math": "((temp - 32) * 5.0) / 9.0", "attribute": "tempC" } }

payloads.json 的内容:

[ "{\"humidity\": 52, \"temp\": 68 }", "{\"humidity\": 52, \"temp\": 32 }" ]

输出:

{ "logResult": "", "payloads": [ "eyJodW1pZGl0eSI6NTIsInRlbXAiOjY4LCJ0ZW1wQyI6MjB9", "eyJodW1pZGl0eSI6NTIsInRlbXAiOjMyLCJ0ZW1wQyI6MH0=" ] }

有关更多信息,请参阅RunPipelineActivityAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用sample-channel-data

AWS CLI

从频道检索示例消息

以下sample-channel-data示例检索在指定时间段内从指定频道收录的消息示例。您最多可以检索 10 条消息。

aws iotanalytics sample-channel-data \ --channel-name mychannel

输出:

{ "payloads": [ "eyAidGVtcGVyYXR1cmUiOiAyMCB9", "eyAiZm9vIjogImJhciIgfQ==" ] }

有关更多信息,请参阅SampleChannelDataAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用start-pipeline-reprocessing

AWS CLI

开始管道再处理

以下start-pipeline-reprocessing示例通过指定的管道开始重新处理原始消息数据。

aws iotanalytics start-pipeline-reprocessing \ --pipeline-name mypipeline

输出:

{ "reprocessingId": "6ad2764f-fb13-4de3-b101-4e74af03b043" }

有关更多信息,请参阅StartPipelineReprocessingAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用tag-resource

AWS CLI

为资源添加或修改标签

以下tag-resource示例添加或修改了附加到指定资源的标签。

aws iotanalytics tag-resource \ --resource-arn "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" \ --tags "[{\"key\": \"Environment\", \"value\": \"Production\"}]"

此命令不生成任何输出。

有关更多信息,请参阅TagResourceAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用untag-resource

AWS CLI

要从资源中删除标签

以下untag-resource示例从指定资源中删除具有指定密钥名称的标签。

aws iotanalytics untag-resource \ --resource-arn "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" \ --tag-keys "[\"Environment\"]"

此命令不生成任何输出。

有关更多信息,请参阅《AWS 物联网分析API参考》中的 UntagResource < https://docs.aws.amazon.com/iotanalytics/ latest/APIReference/API _ UntagResource .html >。

以下代码示例显示了如何使用update-channel

AWS CLI

修改频道

以下update-channel示例修改了指定频道的设置。

aws iotanalytics update-channel \ --cli-input-json file://update-channel.json

update-channel.json 的内容:

{ "channelName": "mychannel", "retentionPeriod": { "numberOfDays": 92 } }

此命令不生成任何输出。

有关更多信息,请参阅UpdateChannelAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用update-dataset

AWS CLI

更新数据集

以下update-dataset示例修改了指定数据集的设置。

aws iotanalytics update-dataset \ --cli-input-json file://update-dataset.json

update-dataset.json 的内容:

{ "datasetName": "mydataset", "actions": [ { "actionName": "myDatasetUpdateAction", "queryAction": { "sqlQuery": "SELECT * FROM mydatastore" } } ], "retentionPeriod": { "numberOfDays": 92 } }

此命令不生成任何输出。

有关更多信息,请参阅《AWS 物联网分析API参考》中的 UpdateDataset < https://docs.aws.amazon.com/iotanalytics/ latest/APIReference/API _ UpdateDataset .html >。

以下代码示例显示了如何使用update-datastore

AWS CLI

更新数据存储

以下update-datastore示例修改了指定数据存储的设置。

aws iotanalytics update-datastore \ --cli-input-json file://update-datastore.json

update-datastore.json 的内容:

{ "datastoreName": "mydatastore", "retentionPeriod": { "numberOfDays": 93 } }

此命令不生成任何输出。

有关更多信息,请参阅UpdateDatastoreAWS IoT Analytics API 参考》。

以下代码示例显示了如何使用update-pipeline

AWS CLI

更新管道

以下update-pipeline示例修改了指定管道的设置。您必须在pipelineActivities数组中同时指定通道和数据存储活动,还可以指定多达 23 个其他活动。

aws iotanalytics update-pipeline \ --cli-input-json file://update-pipeline.json

update-pipeline.json 的内容:

{ "pipelineName": "mypipeline", "pipelineActivities": [ { "channel": { "name": "myChannelActivity", "channelName": "mychannel", "next": "myMathActivity" } }, { "datastore": { "name": "myDatastoreActivity", "datastoreName": "mydatastore" } }, { "math": { "name": "myMathActivity", "math": "(((temp - 32) * 5.0) / 9.0) + 273.15", "attribute": "tempK", "next": "myDatastoreActivity" } } ] }

此命令不生成任何输出。

有关更多信息,请参阅UpdatePipelineAWS IoT Analytics API 参考》。