MENU
    Интеграция с AWS - получение данных из таблиц Tulip
    • 27 May 2024
    • 2 Минуты для чтения
    • Авторы

    Интеграция с AWS - получение данных из таблиц Tulip


    Вводный текст

    Упорядочить получение данных из Tulip в AWS для расширения возможностей аналитики и интеграции

    Цель

    В этом руководстве пошагово описано, как получить данные Tulip Tables в AWS с помощью функции Lambda.

    Лямбда-функция может быть запущена с помощью различных ресурсов, таких как таймеры Event Bridge или API-шлюз.

    Пример архитектуры приведен ниже:

    image

    Выполнение операций AWS внутри лямбда-функции может быть проще, потому что с API Gateway и лямбда-функциями вам не нужно аутентифицировать базы данных с помощью имени пользователя и пароля на стороне Tulip; вы можете полагаться на методы аутентификации IAM внутри AWS. Это также упрощает использование других сервисов AWS, таких как Redshift, DynamoDB и т. д.

    Настройка

    Для этого примера интеграции требуется следующее:

    • Использование API Tulip Tables (получение ключа и секрета API в настройках учетной записи).
    • Tulip Table (получение уникального идентификатора таблицы).

    Высокоуровневые шаги: 1. Создайте функцию AWS Lambda с соответствующим триггером (API Gateway, Event Bridge Timer и т. д.) 2. Получите данные из таблицы Tulip, используя пример ниже ``python import json import pandas as pd import numpy as np import requests

    # ПРИМЕЧАНИЕ: слой pandas из AWS необходимо

    # добавить в функцию Lambda

    def lambda_handler(event, context): auth_header = OBTAIN FROM API AUTH header = {'Authorization' : auth_header} base_url = 'https://[INSTANCE].tulip.co/api/v3' offset = 0 function = f'/tables/[TABLE_ID/records?limit=100&offset={offset}&includeTotalCount=false&filterAggregator=all' r = requests.get(base_url+function, headers=header) df = pd.DataFrame(r.json()) length = len(r.json()) while length > 0: offset += 100 function = f'/tables/[TABLE_ID/records?limit=100&offset{offset}&includeTotalCount=false&filterAggregator=all' r = requests.get(base_url+function, headers=cdm_header) length = len(r.json()) df_append = pd.DataFrame(r.json()) df = pd.concat([df, df_append], axis=0) df.shape # это добавляет 100 записей к датафрейму и затем может быть использовано для S3, Firehose и т.д. # используйте переменную data для записи в S3, Firehose,

    # базы данных и многое другое ```

    1. Триггер может выполняться по таймеру или запускаться по URL-адресу.
    2. Обратите внимание на слой Pandas, необходимый на изображении ниже.image.png
    3. Наконец, добавьте все необходимые интеграции. Вы можете записывать данные в базу данных, S3 или сервис уведомлений из лямбда-функций.

    Примеры использования и следующие шаги

    После завершения интеграции с лямбдой вы можете легко проанализировать данные с помощью блокнота sagemaker, QuickSight или других инструментов.

    1. Прогнозирование дефектов- выявление производственных дефектов до их возникновения и увеличение количества правильных решений с первого раза. - Определение основных производственных факторов качества для внедрения улучшений.

    2. Оптимизация затрат на качество- определение возможностей для оптимизации конструкции продукции без ущерба для удовлетворенности клиентов.

    3. Оптимизация энергопотребления на производстве- определение производственных рычагов для оптимального энергопотребления

    4. Прогнозирование и оптимизация поставок и планирования- Оптимизация графика производства на основе спроса клиентов и графика заказов в режиме реального времени.

    5. Глобальный бенчмаркинг машин/линий- бенчмаркинг аналогичных машин или оборудования с нормализацией.

    6. Глобальное / региональное цифровое управление производительностью- консолидированные данные для создания приборных панелей в режиме реального времени


    Была ли эта статья полезной?