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


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