我想通过指定Lambda的IoT分析数据集来获取最新数据。
如果您使用的是aws sdk的IoTAnalytics的getDatasetContent,则只会返回文件的下载链接。数据本身是无法获取的。
我想知道如何从Lambda获得有关IoT分析数据集的信息。
发布于 2019-01-08 07:57:18
大家好,欢迎来到Stack Overflow!
如果我没理解错的话,您是在问如何使用Lambda函数从IoT分析数据集中获取数据?
你是对的,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有更多的documentation here - AWS Python SDK,但您可以在所有其他sdk支持的语言中使用相同的方法。
希望这会有帮助,罗杰
https://stackoverflow.com/questions/54074440
复制相似问题