Integrazione AWS - Recuperare i dati dalle tabelle Tulip
  • 27 May 2024
  • 2 Minuti da leggere
  • Contributori

Integrazione AWS - Recuperare i dati dalle tabelle Tulip


Sommario dell'articolo

Semplificare il reperimento dei dati da Tulip ad AWS per maggiori opportunità di analisi e integrazione.

Scopo

Questa guida spiega passo per passo come recuperare i dati delle tabelle Tulip su AWS tramite una funzione Lambda.

La funzione Lambda può essere attivata da una serie di risorse, come i timer di Event Bridge o un API Gateway.

Di seguito è riportato un esempio di architettura:

image

L'esecuzione di operazioni AWS all'interno di una funzione lambda può essere più semplice, perché con le funzioni API Gateway e Lambda non è necessario autenticare i database con nome utente e password sul lato Tulip; si può fare affidamento sui metodi di autenticazione IAM all'interno di AWS. Questo semplifica anche l'utilizzo di altri servizi AWS come Redshift, DynamoDB e altri ancora.

Configurazione

Questo esempio di integrazione richiede quanto segue:

  • Uso dell'API Tulip Tables (ottenere la chiave e il segreto dell'API nelle impostazioni dell'account).
  • Tulip Table (ottenere l'ID univoco della tabella)

Passi di alto livello: 1. Creare una funzione AWS Lambda con il trigger pertinente (API Gateway, Event Bridge Timer, ecc.) 2. Recuperare i dati della tabella Tulip con i dati di Tulip Tables. Recuperare i dati della tabella Tulip con l'esempio seguente ```python import json import pandas as pd import numpy as np import requests

# NOTA il livello pandas da AWS dovrà essere

# essere aggiunto alla funzione 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 # questo aggiunge 100 record a un dataframe e può essere usato per S3, Firehose, ecc. # usare la variabile dati per scrivere su S3, Firehose,

# database e altro ancora.

  1. Il trigger può essere eseguito con un timer o attivato tramite un URL.
  2. Si noti il livello Pandas richiesto nell'immagine qui sottoimage.png
  3. Infine, aggiungere le integrazioni necessarie. È possibile scrivere i dati su un database, S3 o un servizio di notifica dalle funzioni lambda.

Casi d'uso e passi successivi

Una volta finalizzata l'integrazione con lambda, è possibile analizzare facilmente i dati con un notebook sagemaker, QuickSight o una serie di altri strumenti.

1. Previsione dei difetti- Individuare i difetti di produzione prima che si verifichino e aumentare la qualità al primo colpo - Individuare i principali fattori di produzione della qualità per implementare i miglioramenti.

2. Ottimizzazione dei costi della qualità- Identificare le opportunità di ottimizzare la progettazione dei prodotti senza incidere sulla soddisfazione dei clienti.

3. Ottimizzazione dell'energia di produzione- Identificare le leve di produzione per ottimizzare il consumo energetico.

4. Previsione e ottimizzazione delle consegne e della pianificazione- Ottimizzare il programma di produzione in base alla domanda dei clienti e al calendario degli ordini in tempo reale.

5. Benchmarking globale di macchine e linee- Benchmarking di macchine o attrezzature simili con normalizzazione.

6. Gestione delle prestazioni digitali globali/regionali- Dati consolidati per creare cruscotti in tempo reale.


Questo articolo è stato utile?