Сбор данных AWS IoT Aanalytics

Я хотел бы получить последние данные, указав набор данных IoT Analytics компании Lambda.

Если вы используете getDatasetContent IoTAnalytics из aws sdk, будет возвращена только ссылка для скачивания файла. Данные сами по себе не могут быть получены.

Я хотел бы знать, как получить информацию о наборе данных IoT Analytics от Lambda.

1 ответ

Привет и добро пожаловать в Stack Overflow!

Если я правильно понимаю ваш вопрос, вы спрашиваете, как получить данные из набора данных IoT Analytics, используя функцию 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_SUCCEEDED.

Здесь больше документации для Boto - AWS Python SDK, но вы можете использовать тот же подход во всех других поддерживаемых sdk языках.

Надеюсь, это поможет, Роджер

Другие вопросы по тегам