MENU
    AWSインテグレーション - Tulipテーブルからデータを取得する
    • 27 May 2024
    • 1 読む分
    • 寄稿者

    AWSインテグレーション - Tulipテーブルからデータを取得する


    記事の要約

    TulipからAWSへのデータ取得を合理化し、アナリティクスと統合の機会を拡大

    目的

    このガイドでは、Lambda関数を介してAWSにTulip Tablesのデータをフェッチする方法をステップバイステップで説明します。

    Lambda関数は、Event BridgeタイマーやAPI Gatewayのような様々なリソースを介してトリガーすることができます。

    アーキテクチャの例を以下に示します:

    image

    API GatewayとLambda関数を使えば、Tulip側でデータベースをユーザー名とパスワードで認証する必要がなく、AWS内部のIAM認証メソッドに頼ることができるので、Lambda関数内でAWSの操作を実行するのが簡単になります。 また、RedshiftやDynamoDBなど、他のAWSサービスの活用方法も効率化できます。

    セットアップ

    この連携例では以下のものが必要です:

    • Tulip Tables APIの利用 (アカウント設定でAPIキーとシークレットを取得)
    • チューリップ・テーブル(テーブル固有IDを取得する

    高レベルのステップ: 1.関連するトリガー(API Gateway、Event Bridge Timerなど)でAWS Lambda関数を作成する 2.以下の例でTulipテーブルのデータを取得する ``python import json import pandas as pd import numpy as np import requests

    # AWSのpandasレイヤーをLambdaに追加する必要があります。

    # を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+関数, headers=cdm_header) length = len(r.json()) df_append = pd.DataFrame(r.df_append = pd.DataFrame(r. json()) df = pd.concat([df, df_append], axis=0) df.shape # これで100レコードがデータフレームに追加され、S3やFirehoseなどに利用できる # S3やFirehoseへの書き込みにはdata変数を利用する、

    # データベースなどに書き込むために使用する。

    1. トリガーはタイマーで実行されるか、URL経由でトリガーされる
    2. 以下の画像では、Pandasレイヤーが必要であることに注意してください。image.png
    3. 最後に、必要な統合機能を追加します。ラムダ関数からデータベース、S3、通知サービスにデータを書き込むことができる。

    使用例と次のステップ

    lambdaとの統合が完了したら、sagemaker notebookやQuickSight、その他様々なツールを使って簡単にデータを分析することができます。

    1.不具合予測- 製造上の不具合を事前に特定し、初回不良率を向上させます。

    2.品質コストの最適化- 顧客満足度に影響を与えることなく、製品設計を最適化する機会を特定する。

    3.生産エネルギーの最適化 - エネルギー消費を最適化するための生産レバーを特定する。

    4.納期と計画の予測と最適化 - 顧客の需要とリアルタイムの受注スケジュールに基づいて生産スケジュールを最適化する。

    5.グローバルな機械/ラインのベンチマーキング- 類似の機械や設備を正規化した上でベンチマーキングする。

    6.グローバル/地域デジタルパフォーマンス管理- データを統合してリアルタイムダッシュボードを作成します。


    この記事は役に立ちましたか?