本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建数据集
您可以通过创建 SQL 数据集或容器数据集从数据存储中检索数据。 Amazon IoT Analytics可以查询数据来回答分析问题。尽管数据存储不是数据库,但您可以使用 SQL 表达式来查询数据并生成存储在数据集中的结果。
查询数据
要查询数据,您需要创建一个数据集。数据集包含用于查询数据存储的 SQL 以及可选的时间表,该时间表可在您选择的日期和时间重复查询。您可以使用类似于 Amazon CloudWatch 计划表达式的表达式来创建可选时间表。
运行以下命令以创建数据集。
aws iotanalytics create-dataset --cli-input-json file://mydataset.json
其中mydataset.json
文件包含以下内容。
{ "datasetName": "mydataset", "actions": [ { "actionName":"myaction", "queryAction": { "sqlQuery": "select * from mydatastore" } } ] }
运行以下命令,通过执行查询以创建数据集内容。
aws iotanalytics create-dataset-content --dataset-name mydataset
等待几分钟,以便数据集内容创建完毕,然后继续操作。
访问查询的数据
查询的结果是您的数据集内容,以 CSV 格式存储为文件。将通过 Amazon S3 向您提供该文件。以下示例说明了如何检查结果是否已准备就绪、文件是否已下载。
运行以下 get-dataset-content
命令:
aws iotanalytics get-dataset-content --dataset-name mydataset
如果您的数据集包含任何数据,则的get-dataset-content
输出"state": "SUCCEEDED"
在status
字段中,如下例所示。
{ "timestamp": 1508189965.746, "entries": [ { "entryName": "someEntry", "dataURI": "https://aws-iot-analytics-datasets-f7253800-859a-472c-aa33-e23998b31261.s3.amazonaws.com/results/f881f855-c873-49ce-abd9-b50e9611b71f.csv?X-Amz-" } ], "status": { "state": "SUCCEEDED", "reason": "A useful comment." } }
dataURI
是输出结果的签名 URL。它在较短的一段时间内有效 (几个小时)。根据您的工作流,您可能需要在访问内容之前始终调用 get-dataset-content
,因为调用此命令会生成新的签名 URL。