aws-sdk - AWS IoT Aanalytics 的数据采集
问题描述
我想通过指定 Lambda 的 IoT Analytics 数据集来获取最新数据。
如果使用 aws sdk 的 IoTAnalytics 的 getDatasetContent,则只会返回下载文件的链接。无法获取数据本身。
我想知道如何从 Lambda 获取有关 IoT Analytics 数据集的信息。
解决方案
您好,欢迎来到 Stack Overflow!
如果我正确理解您的问题,您是在问如何使用 Lambda 函数从 IoT Analytics 数据集中获取数据?
get_dataset_content 只返回 URI 是正确的,但是获取实际内容很简单,例如在 Python 中它看起来像这样;
# Code Fragment to retrieve content from IoT Analytics Dataset
iota = boto3.client('iotanalytics')
response = iota.get_dataset_content(datasetName='my_data_set',versionId='$LATEST')
contentState = response['status']['state']
if (contentState == 'SUCCEEDED') :
url = response['entries'][0]['dataURI']
stream = urllib.request.urlopen(url)
reader = csv.DictReader(codecs.iterdecode(stream, 'utf-8'))
for record in reader:
# Process the record as desired, you can refer to columns in the CSV
# by using record['column_name'] using the DictReader iterator
请注意,此代码专门查看使用 $LATEST 版本的最新结果 - 您也可以查找 $LATEST_SUCCEEDED 版本。
此处有更多有关 Boto 的文档 - AWS Python 开发工具包,但您可以在所有其他 sdk 支持的语言中使用相同的方法。
希望有帮助,罗杰
推荐阅读
- c++ - QTextEdit如何在用户输入Qt c ++时清除文本
- mysql - 如果两个表的日期相同,我如何根据日期对列数据求和,然后从另一个表的列中减去此数据
- asp.net - 针对每个请求的 IIS 终端应用程序
- node.js - 异步函数中的NodeJS IF语句即使满足条件也不会执行
- unit-testing - 无法从仅 jvm 模块访问 commonMain 多平台类
- keycloak - 如何更新 keycloak 客户端?
- javascript - Jquery chartsjs 插件行无法正常工作
- node.js - 如何在反应中添加过滤方法onclick按钮
- sql - 在使用多个 WITH 时使用 UPDATE 语句
- java - 计算标准差的正确公式和方法是什么