我想通过指定 Lambda 的物联网分析数据集来获取最新数据。
如果您使用 getDatasetContent of IoTAnalytics of aws sdk,则只会返回下载文件的链接。数据本身无法获取。
我想知道如何从 Lambda 获取有关物联网分析数据集的信息。
嗨,欢迎来到堆栈溢出!
如果我正确理解了您的问题,那么您是在问如何使用 Lambda 函数从物联网分析数据集中获取数据?
您是对的,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_SUCCESS 版本。
这里有更多关于 Boto 的文档 - AWS Python 开发工具包,但您可以在所有其他开发工具包支持的语言中使用相同的方法。
希望有帮助,知道了