Condivisione di dati tramite un hub azioni

Oltre a inviare contenuti alle destinazioni integrate di Looker, puoi utilizzare le azioni, denominate anche integrazioni, per fornire contenuti a servizi di terze parti integrati con Looker tramite un server hub azioni.

Le azioni pubblicate tramite un server hub azioni sono diverse dalle azioni sui dati, definite dal parametro LookML action.

Questa pagina illustra le opzioni per creare azioni personalizzate che puoi richiedere di aggiungere all'hub azioni di Looker o aggiungere al tuo server hub azioni privato. In questa pagina viene inoltre spiegato come avviare un server hub azioni locale per testare le tue azioni personalizzate o gestire un server hub azioni privato.

Il grafico seguente illustra le opzioni disponibili per il flusso di lavoro di integrazione delle azioni tramite un hub azioni in hosting su un sistema privato o in Looker:

Dopo che l'azione è stata aggiunta all'hub delle azioni, un amministratore di Looker può abilitarla per l'utilizzo nella distribuzione di contenuti Looker a tali servizi.

Puoi anche configurare più hub azioni, se vuoi utilizzare le integrazioni di Looker tramite l'hub azioni di Looker, e anche ospitare le tue azioni private o personalizzate. Le azioni di ciascun hub azioni vengono visualizzate nella pagina Azioni del riquadro Amministratore.

L'hub azioni di Looker

Looker ospita e fornisce l'hub azioni di Looker, un server stateless che implementa l'API Action's e espone le azioni popolari. I dati inviati dagli utenti mediante un'azione verranno elaborati temporaneamente sul server Looker Action Hub anziché nell'istanza di Looker.

Looker è già integrato con diversi servizi. Per informazioni su come attivare questi servizi esistenti, consulta la pagina della documentazione Impostazioni amministratore - Azioni.

Requisiti di Looker Action Hub

Per utilizzare le integrazioni di Looker, l'hub azioni di Looker deve essere in grado di comunicare con l'istanza di Looker e soddisfare questi requisiti. Gli amministratori delle istanze ospitate dal cliente potrebbero dover prendere in considerazione ulteriori fattori quando scelgono di attivare le integrazioni di Looker dall'hub azioni di Looker, in particolare le integrazioni che supportano i risultati dello streaming o che utilizzano OAuth.

L'hub azioni di Looker deve essere in grado di inviare e ricevere richieste API nei seguenti modi:

Se il tuo deployment Looker non è in grado di soddisfare queste richieste o se la funzionalità IP Allowlist è consentita sulla tua istanza di Looker, valuta la possibilità di configurare un server hub azioni locale per pubblicare integrazioni Looker o azioni personalizzate private. Gli amministratori di istanze ospitate dal cliente possono anche eseguire il deployment di un server delle azioni locali specifico per OAuth e le azioni di streaming.

Richieste dall'istanza di Looker alla rete Hub Action Hub

Le richieste a actions.looker.com vengono risolte in un indirizzo IP dinamico. Le richieste in uscita dall'istanza di Looker devono essere in grado di raggiungere i seguenti endpoint:

actions.looker.com/
actions.looker.com/actions/<name>/execute
actions.looker.com/actions/<name>/form

dove name è il nome programmatico dell'azione.

Richieste dal browser dell'utente Looker alla rete Looker Action Hub

Il browser dell'utente di Looker deve essere in grado di effettuare richieste a questi endpoint di Looker Action Hub (per OAuth):

actions.looker.com/actions/<name>/oauth

dove name è il nome programmatico dell'azione.

Richieste dalla rete Looker Action Hub all'istanza di Looker

L'hub azioni di Looker deve effettuare richieste all'istanza di Looker per azioni che supportano i risultati in streaming o che utilizzano OAuth.

Un'azione di streaming consente di utilizzare le query che restituiscono Tutti i risultati. Le azioni abilitate per OAuth utilizzano l'autenticazione per utente tramite i flussi OAuth 2.0. Le azioni OAuth devono archiviare le credenziali utente nell'istanza di Looker di origine, perché l'hub azioni di Looker è stateless e multi-tenant e non memorizzerà le credenziali specifiche dell'utente di qualsiasi tipo.

Le richieste a un'istanza di Looker provenienti dall'hub azioni di Looker hanno i seguenti formati:

GET <host_looker_url>/downloads/<random_40_char_token>
POST <host_looker_url>/action_hub_state/<random_40_char_token>

Questi URL vengono generati nell'istanza di Looker prima di essere inviati all'hub azioni di Looker. Per questo motivo, Looker Action Hub deve essere in grado di risolvere <host_looker_url> in un indirizzo IP e di effettuare richieste nella rete in cui si trova la tua istanza di Looker.

L'hub azioni di Looker contiene indirizzi IP statici in uscita da cui provengono sempre le richieste: 35.153.89.114, 104.196.138.163 e 35.169.42.87. Gli amministratori di istanze ospitate da Looker che hanno abilitato la lista consentita IP devono aggiungere questi indirizzi IP per utilizzare qualsiasi azione che supporta i risultati in streaming o che utilizzano OAuth.

Considerazioni per le istanze ospitate dal cliente

Per utilizzare le integrazioni di Looker, l'hub azioni di Looker deve essere in grado di comunicare con l'istanza di Looker e soddisfare questi requisiti. Questo non è sempre possibile con le istanze Looker ospitate dal cliente, per vari motivi. Se la comunicazione bidirezionale tra l'hub azioni di Looker e l'istanza di Looker non è possibile, l'hub azioni di Looker potrebbe mostrare un comportamento imprevisto o indesiderato, ad esempio la sospensione delle query o azioni non disponibili.

Per risolvere il potenziale problema di un'azione di Looker che non riesce a comunicare con l'istanza di Looker, gli amministratori di Looker possono implementare una delle soluzioni indicate di seguito. La soluzione o la combinazione di soluzioni appropriata dipende dall'architettura dell'istanza di Looker:

  • Se l'istanza ospitata dal cliente non è risolvibile dall'hub azioni di Looker, vale a dire che l'hub azioni di Looker non può ricevere richieste dall'istanza di Looker, gli amministratori di Looker possono consultare il proprio account manager Looker per attivare la funzionalità di licenza public_host_url. La funzionalità per le licenze mostra l'opzione di avvio di --public-host-url, che consente agli amministratori di specificare un nome host <public_host_url> risolvibile diverso dall'istanza <host_looker_url>. public_host_url esegue l'override del nome host per alcuni URL di callback specifici di Looker Action Hub e instrada questi URL di callback attraverso un proxy inverso che ha public_host_url come nome risolvibile pubblicamente. Questo proxy inverso accetta solo richieste da indirizzi IP di traffico in uscita statico per Looker Action Hub. Gli amministratori di Looker che utilizzano questo metodo devono aggiungere alla lista consentita gli indirizzi IP in uscita da cui l'hub azioni di Looker effettua richieste all'istanza di Looker: 35.153.89.114, 104.196.138.163 e 35.169.42.87.

  • Se l'URL dell'istanza ospitata dal cliente è risolvibile dall'istanza di Looker, ma l'hub azioni di Looker non può inviare richieste all'istanza di Looker, gli utenti potrebbero non essere in grado di configurare o utilizzare azioni che supportano i risultati dello streaming o che utilizzano OAuth. Per risolvere il problema, gli amministratori di Looker devono aggiungere alla lista consentita gli indirizzi IP in uscita da cui l'hub azioni di Looker effettua richieste all'istanza di Looker: 35.153.89.114, 104.196.138.163 e 35.169.42.87.

  • Se nessuna delle soluzioni sopra indicate è appropriata per l'architettura di istanza di Looker, gli amministratori di Looker possono eseguire il deployment di un hub azioni ospitato dal cliente per tutte le azioni o solo per le azioni che supportano i risultati in streaming o che utilizzano OAuth.

  • Per eseguire il deployment di un hub azioni ospitato dal cliente, devi assicurarti che il file JAR sia ospitato su un server pubblico in modo che Looker Action Hub possa comunicare con questo. Looker, tuttavia, non consiglia questa soluzione.

Un altro motivo per cui le azioni OAuth e di streaming potrebbero non essere utilizzabili su un'istanza di Looker ospitata dal cliente è se utilizza un certificato SSL emesso da un'autorità di certificazione (CA) non presente in questo elenco.

Creare un'azione personalizzata

Questa sezione descrive i passaggi da seguire per scrivere e testare un'azione personalizzata utilizzando il codice sorgente di Looker Action Hub. Per visualizzare esempi di codice funzionali, controlla le azioni esistenti nel repository looker-open-source/actions di GitHub.

Per creare un'azione personalizzata:

  1. Configurazione di un repository di sviluppo
  2. Scrivere l'azione
  3. Test dell'azione
  4. Pubblicazione e abilitazione dell'azione nell'hub azioni di Looker o sul tuo server hub azioni privato

Come per qualsiasi azione, potrebbe essere necessario configurare i modelli LookML con parametri specifici prima di poter utilizzare l'azione per caricare i dati.

Configurazione di un repository di sviluppo

L'hub azioni di Looker è un server Node.js scritto in TypeScript, un piccolo livello sopra il moderno JavaScript che aggiunge informazioni sul tipo per aiutare a rilevare gli errori di programmazione. Se hai familiarità con JavaScript, dovresti conoscere la maggior parte del linguaggio TypeScript.

L'esecuzione di Looker Action Hub richiede il seguente software:

  • Node.js
  • Node Version Manager (NVM: per selezionare la versione Node.js corretta)
  • Yarn (per gestire le dipendenze)

Una volta installato il software richiesto, puoi configurare il tuo ambiente di sviluppo. L'esempio seguente utilizza Git.

  1. Clona il repository looker-open-source/actions in locale:

    git clone git@github.com:looker-open-source/actions.git
    
  2. Crea una directory con il nome dell'azione nella directory actions/src/actions. Ad esempio:

    mkdir actions/src/actions/my_action
    
  3. Inizia a completare la directory con i file di cui hai bisogno per eseguire l'azione. Consulta il repository GitHub delle azioni per un esempio di struttura di file.

Looker consiglia di aggiungere anche:

  • Un README per spiegare lo scopo e i mezzi di autenticazione per la tua azione
  • Icona PNG da mostrare nell'hub azioni di Looker (o nell'hub delle azioni private nell'istanza di Looker) e nelle finestre di distribuzione dei dati di Looker
  • I file per i test che vuoi eseguire sul codice di azione, diverso dal test della tua azione

Scrivere un'azione

Un requisito di progettazione per il server Looker Action Hub è che rimanga completamente stateless, quindi non è consentito archiviare informazioni nell'applicazione o nel servizio azioni. Le informazioni necessarie per completare l'azione devono essere fornite all'interno delle chiamate alla richiesta del file dell'azione.

I contenuti esatti del file dell'azione variano a seconda del servizio, del tipo o del livello a cui opera l'azione e dei formati di dati o visualizzazioni da specificare. L'azione può anche essere configurata per i flussi di autorizzazione OAuth 2.0.

I file di azione si basano sul metodo API /execute. Le richieste API Looker vengono trasmesse a una DataActionRequest ogni volta che un utente esegue l'azione in Looker. Il campo DataActionRequest contiene tutti i dati e i metadati necessari per eseguire l'azione. Esiste anche un metodo /form che può essere utilizzato per raccogliere informazioni aggiuntive dall'utente prima che esegua l'azione. I campi specificati in /form verranno visualizzati nel popup Invia o Pianifica quando gli utenti selezionano l'azione come destinazione per la distribuzione dei dati.

Se utilizzi l'API Looker Action, il formato di questi parametri potrebbe apparire diverso.

Quando scrivi il file dell'azione, includi almeno i seguenti parametri contrassegnati con Obbligatorio nella definizione dell'azione:

Parametro Obbligatoria Descrizione Tipo di dati
name Un nome univoco per l'azione. Deve essere univoco in tutte le azioni nell'hub azioni di Looker. string
url Un URL assoluto dell'endpoint /execute per questa azione. string
label Un'etichetta leggibile per l'azione. string
supportedActionTypes Un elenco dei tipi di azione supportati dall'azione. I valori validi sono "cell", "query" e "dashboard". string
formURL No Un URL assoluto dell'endpoint /form per questa azione. string
description No Descrizione dell'azione. string
params No Array di parameters per l'azione. Includi nome, etichetta e descrizione in formato stringa per ogni parametro. Questi sono i campi che vengono visualizzati nella pagina di attivazione dell'azione nel riquadro Amministratore. Per gestire il modo in cui gli utenti possono inviare dati a una destinazione di un'azione, puoi specificare un attributo utente per il quale un utente deve avere un valore definito. parameters
supportedFormats No Un elenco dei formati di dati supportati dall'azione. I valori validi sono "txt", "csv", "inline_json", "json", "json_detail", "json_detail_lite_stream", "xlsx", "html", "wysiwyg_pdf", "assembled_pdf", and "wysiwyg_png". string
supportedFormattings No Un elenco di opzioni di formattazione supportate dall'azione. I valori validi sono "formatted" e "unformatted". string
supportedVisualizationFormattings No Un elenco di opzioni di formattazione della visualizzazione supportate dall'azione. I valori validi sono "apply" e "noapply". string
iconName No Un URI di dati che rappresenta un'immagine dell'icona per l'azione. string
requiredFields No Un elenco di descrizioni dei campi obbligatori con cui è compatibile questa azione. Se sono presenti più voci in questo elenco, l'azione richiede più di un campo. RequiredField
supportedDownloadSettings No Un valore booleano che determina se all'azione verrà inviato un URL di download una tantum per facilitare lo streaming illimitato dei dati. Il parametro è impostato dal parametro usesStreaming, che è un valore booleano true/false. Se usesStreaming = true, supportedDownloadSettings = url. Se usesStreaming = false, supportedDownloadSettings = push. Booleano
usesOAuth No Un valore booleano che determina se l'azione è un'azione OAuth. Determina se inviare all'azione un link monouso per poter impostare state per un utente specifico. Booleano
usesStreaming No Un valore booleano che determina se l'azione supporta i risultati della query in streaming. Seleziona la colonna Può trasmettere risultati sì/no nell'elenco dei servizi integrati. Le azioni che generano risultati in streaming potrebbero richiedere la configurazione di un server hub azioni locale. Per ulteriori informazioni, consulta l'articolo Configurazione di un hub azioni locale per le azioni che utilizzano OAuth o streaming nel Centro assistenza Looker. Booleano
minimumSupportedVersion No La versione minima di Looker in cui l'azione verrà visualizzata nell'elenco dell'hub azioni del amministratore. string

Alcuni esempi delle azioni di Looker Action Hub sono su GitHub.

Tipi di azioni supportati

Looker supporta tre tipi di azioni, come specificato nel parametro supportedActionTypes dell'azione: query, cella e dashboard.

  • Un'azione a livello di query: è un'azione che invia un'intera query. L'azione Segmento, ad esempio, è un'azione a livello di query.
  • Un'azione a livello di cella: un'azione a livello di cella invia il valore di una singola cella specifica in una tabella di dati. Questo tipo di azione è diverso dalle azioni sui dati, che possono essere definite per dimensioni o misure utilizzando il parametro action. Per inviare informazioni da una cella specifica all'interno di una tabella, Looker utilizza i tag per mappare le azioni alle celle corrispondenti. Le azioni devono specificare i tag supportati in requiredFields. Per mappare azioni e campi, i campi in LookML devono specificare a quali tag sono associati con il parametro tags LookML. Ad esempio, l'azione Twilio Message utilizza un tag phone per consentire agli sviluppatori LookML di stabilire su quali campi del numero di telefono viene visualizzata l'azione Twilio.
  • Un'azione a livello di dashboard: un'azione a livello di dashboard supporta l'invio di un'immagine di una dashboard. Ad esempio, l'azione SendGrid invia le immagini della dashboard tramite email.

Aggiunta di attributi utente alle azioni personalizzate

Per le azioni personalizzate, puoi aggiungere attributi utente nel parametro params del file delle azioni. Se il parametro è obbligatorio, ogni utente deve avere un valore per questo attributo definito nel proprio account utente o per un gruppo di utenti a cui appartiene, oltre all'autorizzazione send_to_integration, per vedere l'azione come opzione di destinazione quando invia o pianifica contenuti.

Per aggiungere un attributo utente all'azione:

  1. Un amministratore di Looker potrebbe dover creare l'attributo utente corrispondente al user_attribute_param se non esiste già.
  2. Definisci un valore valido per l'attributo utente per gli utenti o i gruppi di utenti che devono inviare i contenuti alla destinazione della tua azione. Questi utenti devono anche avere send_to_integration autorizzazioni.
  3. Il parametro params rappresenta i campi del modulo che un amministratore di Looker deve configurare nella pagina di attivazione dell'azione dall'elenco Actions (Azioni) nel riquadro Admin (Amministrazione). Nel parametro params del file delle azioni, includi:
  params = [{
    description: "A description of the param.",
    label: "A label for the param.",
    name: "action_param_name",
    user_attribute_name: "user_attribute_name",
    required: true,
    sensitive: true,
  }]

dove user_attribute_name è l'attributo utente definito nel campo Name (Nome) nella pagina User Attributes (Attributi utente) nella sezione Users (Utenti) del riquadro Admin (Amministrazione), required: true significa che un utente deve avere un valore non null e valido per l'attributo utente in questione per visualizzare l'azione al momento della pubblicazione dei dati, mentre sensitive: true indica che l'attributo utente è criptato e non viene mai visualizzato nell'interfaccia utente di Looker una volta inserito. Puoi specificare più sottoparametri attributi utente.

  1. Esegui il deployment degli aggiornamenti sul server hub azioni.
    • Se vuoi aggiungere una nuova azione, l'amministratore di Looker dovrà attivarla facendo clic sul pulsante Enable (Attiva) accanto all'azione nella pagina Actions (Azioni) nel riquadro Admin (Amministrazione).
    • Se stai aggiornando un'azione esistente, aggiorna l'elenco delle azioni facendo clic sul pulsante Refresh (Aggiorna). Quindi, fai clic sul pulsante Impostazioni.
  2. Nella pagina delle impostazioni/di abilitazione delle azioni, un amministratore di Looker deve configurare i campi del modulo delle azioni per estrarre informazioni dall'attributo utente facendo clic sull'icona dell'attributo utente a destra del campo appropriato e selezionando l'attributo utente desiderato.

requiredField parametri nelle azioni a livello di cella

Per le azioni a livello di cella, puoi configurare i campi LookML del tuo modello in modo che forniscano dati alla destinazione dell'azione, specificando quali tag sono supportati dall'azione nel parametro requiredFields del file di azione.

Parametro Obbligatoria Descrizione Tipo di dati
tag No Se presente, corrisponde a un campo con questo tag. string
any_tag No Se presente, sostituisce tag e corrisponde a un campo con uno dei tag forniti. string
all_tags No Se presente, sostituisce tag e corrisponde a un campo con tutti i tag forniti. string

Formati di dati supportati

La classe DataActionRequest definisce con quale formato di pubblicazione dei dati è disponibile l'azione con cui lavorare. Per le azioni a livello di query, la richiesta conterrà un allegato che può avere diversi formati. L'azione può specificare uno o più formati supportedFormats oppure consentire all'utente di scegliere il formato specificando tutti i formati possibili. Per le azioni a livello di cella, il valore della cella sarà presente il giorno DataActionRequest.

Configurare un'azione per OAuth

Le azioni abilitate per OAuth non possono essere configurate dall'hub azioni di Looker per le istanze di Looker in cui è abilitata la funzionalità IP Allowlist o che non soddisfa i requisiti di Looker Action Hub. Per ulteriori informazioni sulla configurazione di un'azione per OAuth, consulta l'articolo Configurazione di un hub azioni locale per le azioni che utilizzano OAuth o lo streaming nel Centro assistenza Looker.

Puoi configurare l'azione in modo che gli utenti possano autenticarsi tramite OAuth. Anche se l'hub azioni di Looker deve rimanere stateless, puoi applicare uno stato tramite una richiesta di modulo dall'API Looker Action.

Flusso OAuth azione Looker

Per le azioni nell'hub azioni di Looker, puoi estendere un OAuthAction anziché un Hub.Action per impostare un valore booleano che indica quali metodi OAuth sono necessari per autenticare un utente in un'azione. Per ogni azione abilitata per stato o OAuth, Looker archivia uno stato per utente per azione, in modo che ogni combinazione di azione e utente abbia un evento OAuth indipendente.

Il flusso per la creazione di azioni include in genere una richiesta /form seguita da una richiesta /execute. Per OAuth, la richiesta /form deve avere un metodo per determinare se l'utente è autenticato all'interno del servizio di destinazione. Se l'utente è già autenticato, l'azione deve restituire un normale /form in base a quanto richiesto dalla richiesta /execute. Se l'utente non è autenticato, l'azione restituisce un link che inizializza un flusso OAuth.

Salvataggio dello stato con l'URL OAuth

Looker invierà una richiesta HTTP POST con un corpo vuoto all'endpoint ActionList. Se l'azione restituisce uses_oauth: true nella sua definizione, verrà inviata un'azione state_url una tantum in ogni richiesta /form da Looker. state_url è uno speciale URL monouso che imposta lo stato di un utente per una determinata azione.

Se l'utente non è autenticato con l'endpoint, il valore restituito da /form deve contenere un form_field di tipo oauth_link che rimanda all'endpoint /oauth di un'azione. state_url deve essere criptato e salvato come parametro state in oauth_url che viene restituito. Ad esempio:

{
        "name": "login",
        "type": "oauth_link",
        "label": "Log in",
        "description": "OAuth Link",
        "oauth_url": "ACTIONHUB_URL/actions/my_action/oauth?state=encrypted_state_url"
}

In questo esempio, l'endpoint /oauth reindirizza l'utente al server di autenticazione. L'endpoint /oauth crea il reindirizzamento nel metodo oauthUrl(...) su un'azione OAuth, come mostrato nell'elemento Dropbox OauthUrl.

Il parametro state contenente il valore state_url criptato deve essere passato all'hub azioni di Looker.

Salvataggio dello stato con l'URI di reindirizzamento dell'hub azioni

Nell'endpoint /oauth viene creato anche un redirect_uri per l'hub delle azioni, che viene passato al metodo oauthUrl(...) dell'azione. Il formato di questo redirect_uri è /actions/src/actions/my_maction/oauth_redirect ed è l'endpoint utilizzato se l'autenticazione restituisce un risultato.

Questo endpoint chiamerà il metodo oauthFetchInfo(...), che deve essere implementato dal metodo OauthAction per estrarre le informazioni necessarie e tentare di ricevere o salvare qualsiasi stato o auth ricevuto dal server di autenticazione.

state decripta il file state_url criptato e lo utilizza per pubblicare POST state in Looker. La volta successiva che un utente effettuerà una richiesta, il nuovo stato salvato verrà inviato all'hub azioni di Looker.

Aggiunta dei tuoi file di azione al repository di Looker Action Hub

Dopo aver scritto il file dell'azione, nel repository Looker Action Hub:

  1. Aggiungi il file delle azioni (ad esempio, my_action.ts) a actions/src/actions/index.ts.

    import "./my_action/my_action.ts"
    
  2. Aggiungi gli eventuali requisiti del pacchetto Node.js che hai utilizzato per scrivere l'azione. Ad esempio:

    yarn add aws-sdk
    yarn add express
    
  3. Installa le dipendenze Node.js del server Looker Action Hub.

    yarn install
    
  4. Esegui gli eventuali test scritti.

yarn test

Testare un'azione

Per eseguire il test completo, puoi provare l'azione contro l'istanza di Looker ospitando un server hub azioni privato. Questo server deve essere sulla rete Internet pubblica con un certificato SSL valido e deve essere in grado di avviare e ricevere connessioni o richieste HTTPS da e verso Looker. Per questo, puoi utilizzare una piattaforma basata su cloud, come Heroku, come mostrato nell'esempio seguente, oppure qualsiasi piattaforma che soddisfi i requisiti sopra indicati.

Configurazione di un server hub azioni locale

In questo esempio, eseguiremo l'azione che abbiamo sviluppato nel repository GitHub looker-open-source/actions/src/actions ed eseguiremo il commit del codice in un nuovo ramo Git. Ti consigliamo di lavorare alle funzionalità utilizzando i rami in modo da poter monitorare facilmente il tuo codice e, se vuoi, creare facilmente una PR con Looker.

  1. Per iniziare, crea una filiale, poi metti in scena ed esegui il commit del tuo lavoro. Ad esempio:

    git checkout -b my-branch-name
    git add file-names
    git commit -m commit-message
    
  2. Per questo esempio, per eseguire il push di un ramo a Heroku, configura il repository Git con Heroku come opzione remota nella riga di comando:

    heroku login
    heroku create
    git push heroku
    
  3. Heroku restituirà l'URL pubblico che ospita l'hub azioni per te. Visita l'URL o esegui heroku logs per verificare che l'hub delle azioni sia in esecuzione. Se dimentichi l'URL pubblico, puoi eseguire quanto segue nella riga di comando:

    heroku info -s | grep web_url
    

    Heroku restituirà il tuo URL pubblico. Ad esempio: https://my-heroku-action-server-1234.herokuapp.com

  4. Nella riga di comando, imposta l'URL di base dell'hub delle azioni:

    heroku config:set ACTION_HUB_BASE_URL="https://my-heroku-action-server-1234.herokuapp.com"
    
  5. Imposta l'etichetta dell'hub delle azioni:

    heroku config:set ACTION_HUB_LABEL="Your Action Hub"
    
  6. Looker utilizza un token di autorizzazione per connettersi all'hub delle azioni. Genera il token dalla riga di comando:

    heroku run yarn generate-api-key
    

    Se non utilizzi Heroku, come in questo esempio, utilizza invece:

    yarn generate-api-key
    

    Heroku restituirà il tuo token di autorizzazione. Ad esempio: Authorization: Token token="abcdefg123456789"

  7. Imposta il secret dell'hub delle azioni utilizzando la chiave segreta:

    heroku config:set ACTION_HUB_SECRET="abcdefg123456789"
    

    I deployment ospitati dal cliente potrebbero richiedere la configurazione di variabili di ambiente aggiuntive non documentate qui.

  8. Aggiungi un'azione sull'istanza di Looker locale in Admin (Amministrazione) > Actions (Azioni).

    • In fondo all'elenco delle azioni, fai clic su Aggiungi hub azioni.
    • Inserisci l'URL hub azioni e, facoltativamente, una chiave segreta.
    • Trova la tua azione nell'elenco Actions (Azioni) nel menu Admin (Amministrazione) di Looker.
    • Fai clic su Abilita.

Se la tua azione richiede che determinati tipi di dati vengano trasmessi da Looker, assicurati di configurare qualsiasi modello in modo da includere il parametro tags appropriato.

Ora puoi testare la tua azione.

Verificare le azioni a livello di dashboard e query

Nell'istanza di Looker, configura il modello LookML con i tag, se necessario. Crea e salva un look. Nell'aspetto salvato, fai clic sul menu in alto a destra e seleziona Invia con l'azione come destinazione. Se hai un modulo per la pubblicazione, Looker lo visualizzerà nella finestra Sent (Inviati).

Fai clic su Invia test per inviare i dati. Lo stato dell'azione viene visualizzato nella Cronologia degli scheduler del riquadro Amministratore. Se la tua azione riscontra un errore, viene visualizzata nel riquadro Admin (Amministrazione) e Looker invia un'email con il messaggio di errore all'utente che ha inviato l'azione.

Verificare le azioni a livello di cella

Configura un campo LookML con i tag appropriati per l'azione. Nell'istanza di Looker, esegui una query che includa il campo in questione. Trova il campo nella tabella dati. Fai clic su ... nella cella e seleziona Invia dal menu a discesa. Se visualizzi errori, dopo aver risolto gli errori dovrai eseguire un aggiornamento completo nella tabella dati.

Pubblicare e attivare un'azione personalizzata

Esistono due opzioni di pubblicazione per le azioni personalizzate:

Dopo che la tua azione è stata pubblicata, puoi attivarla dalla pagina Azioni nel riquadro Amministrazione.

Pubblicazione nell'hub azioni di Looker

Questo approccio è il più semplice e funziona per qualsiasi azione che vuoi rendere disponibile a chiunque utilizzi Looker.

Dopo che l'azione è stata testata, puoi inviare una PR al repository looker-open-source/actions in GitHub.

  1. Inserisci questo comando:

    git push <your fork> <your development branch>
    
  2. Crea la richiesta di pull con il repository looker-open-source/actions come target.

  3. Compila il modulo di invio di Looker Hub e Action Hub. Per ulteriori informazioni sui requisiti del modulo, vedi Invio dei contenuti a Looker Marketplace.

    Looker esaminerà il tuo codice di azione. Ci riserviamo il diritto di rifiutare la tua PR, ma possiamo aiutarti per qualsiasi problema tu riscontri e ti offriamo suggerimenti per migliorare. Quindi uniamo il codice nel repository looker-open-source/actions e ne eseguiamo il deployment in actions.looker.com. Dopo aver eseguito il deployment, il codice sarà disponibile per tutti i clienti Looker.

  4. Abilita l'azione nell'istanza di Looker in modo che venga visualizzata come opzione per il caricamento dei dati.

Pubblicazione su un server hub azioni privato

Se sono presenti azioni personalizzate private per la tua azienda o il tuo caso d'uso, non aggiungere l'azione al repository looker-open-source/actions. Crea invece un hub azioni privato utilizzando lo stesso framework Node.js che hai utilizzato per testare l'azione.

Puoi configurare il server hub azioni interno sulla tua infrastruttura o utilizzando una piattaforma applicativa basata su cloud (nel nostro esempio è stato utilizzato Heroku). Non dimenticare di creare un fork dell'hub azioni di Looker nel server hub azioni privato prima del deployment.

Configurazione di un modello LookML da utilizzare con un'azione

Sia per le azioni personalizzate sia per quelle disponibili da Looker Action Hub, devi identificare i campi dei dati pertinenti utilizzando il parametro tags nel tuo modello LookML.

La pagina Azioni nel riquadro Amministratore fornisce le informazioni sui tag richiesti per il servizio, se presenti. Ad esempio:

L'integrazione di Zapier indica che funziona con qualsiasi query. Non è necessario aggiungere il parametro tags a un campo nel modello LookML.

Il servizio Twilio Send Message, invece, invia un messaggio a un elenco di numeri di telefono. Richiede una query che include un campo del numero di telefono e utilizza il parametro tags per identificare quale campo della query contiene numeri di telefono. Puoi identificare un campo per il numero di telefono in LookML specificando tags: ["phone"] per tale campo. Il tuo campo LookML per un numero di telefono potrebbe avere il seguente aspetto:

dimension: phone {
  tags: ["phone"]
  type: string
  sql: ${TABLE}.phone ;;
}

Assicurati di identificare tutti i campi obbligatori nel modello LookML con il parametro tags, in modo che gli utenti possano utilizzare il servizio per inviare dati.

Invio dei dati con un'azione

I tuoi dati possono essere inviati con modalità diverse, a seconda del livello a cui opera l'azione. Le azioni operano a livello di campo, query o dashboard e possono agire su uno o più livelli. Per ogni azione elencata nella pagina Azioni del riquadro Amministratore è visualizzata una descrizione che ne illustra l'utilizzo. Puoi:

Invio di dati di rete cellulare

Le azioni a livello di campo sono indicate nella pagina Azioni del riquadro Amministratore da una descrizione che include "Azione può essere utilizzata con i campi" o con un nella colonna Può utilizzare dai campi nell'elenco dei servizi integrati.

Le azioni a livello di campo hanno lo scopo di inviare una cella di dati al servizio specificato. Il funzionamento è simile a quello delle azioni sui dati, con la differenza che le azioni vengono eseguite tramite l'API Action di Looker. Anziché definire un parametro LookML action per una dimensione o una misurazione, devi configurare il modello LookML contrassegnando i campi pertinenti con le informazioni fornite nella colonna Tag per questa azione nell'elenco dei servizi integrati.

Dopo aver attivato il servizio e i campi di tagging nel modello LookML, puoi:

  1. Visualizzare i dati che desideri inviare in un look, una dashboard o un'esplorazione. Se il servizio specifica "Action può essere utilizzato con query che hanno un campo taggato...&quot, la tua query o uno dei riquadri della dashboard deve includere uno o più campi con qualsiasi tag richiesto.

  2. Il campo taggato in ciascuna cella del look, del riquadro della dashboard o dell'esplorazione contiene un elenco a discesa, indicato dai puntini di sospensione (...). Fai clic sui puntini di sospensione per visualizzare le azioni disponibili per il link:

  3. Nella sezione ACTIONS (AZIONI), fai clic sul servizio che desideri ricevere per i dati di riga.

Invio dei dati di dashboard o query

Le azioni a livello di query sono indicate nella pagina Azioni del riquadro Amministratore tramite una descrizione che include "Azione può essere utilizzata con query che includono un campo taggato..."Azione può essere utilizzata con qualsiasi query." In base alla colonna Può inviare o pianificare nell'elenco dei servizi integrati, puoi distribuire ogni riga (in un look o un'esplorazione). Le azioni a livello di query sono progettate per fornire i risultati dell'intera query da Explore o Look al servizio specificato.

Le azioni a livello di dashboard sono indicate nella pagina Azioni del riquadro Amministrazione con una descrizione che include "Azione può essere utilizzata con qualsiasi dashboard." In base alla colonna Può inviare o pianificare nell'elenco dei servizi integrati, puoi pubblicare una dashboard. Le azioni a livello di dashboard sono progettate per pubblicare una dashboard per il servizio specificato.

Attiva il servizio e, se necessario, tagga i campi nel modello LookML.

Per caricare un look o un'esplorazione, consulta la pagina Pubblicare Look ed esplorazioni della documentazione.

Per caricare le dashboard, consulta le pagine della documentazione Fornire dashboard precedenti e Pianificare e inviare dashboard.