AWS IoT Aanalytics的数据获取

时间:2019-01-07 12:26:41

标签: aws-sdk aws-iot-analytics

我想通过指定Lambda的IoT Analytics数据集来获取最新数据。

如果使用aws sdk的IoTAnalytics的getDatasetContent,将仅返回用于下载文件的链接。 数据本身无法获取。

我想知道如何从Lambda获取有关IoT Analytics数据集的信息。

1 个答案:

答案 0 :(得分:1)

嗨,欢迎来到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还有更多documentation here-AWS Python SDK,但是您可以在所有其他sdk支持的语言中使用相同的方法。

希望有帮助, 罗杰