Condivisione di dati tramite un hub delle azioni

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

In questa pagina vengono illustrate le opzioni disponibili per la creazione di azioni personalizzate, che puoi chiedere di aggiungere all'hub azioni di Looker o aggiungere al tuo server hub azioni privato. In questa pagina viene inoltre descritto come avviare un server hub azioni locale per testare le azioni personalizzate o eseguire un server hub azioni privato.

Per iniziare a utilizzare le azioni, puoi:

Dopo che un'azione è stata aggiunta all'hub azioni, un amministratore di Looker può abilitarla per l'uso durante l'invio di contenuti di Looker a questi 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 relative a ciascun hub azioni vengono visualizzate nella pagina Azioni del riquadro Amministrazione.

Hub azioni di Looker

Looker ospita e fornisce l'hub azioni di Looker, un server stateless che implementa l'API di azioni di Looker ed espone le azioni più utilizzate. Tutti i dati inviati dagli utenti utilizzando un'azione verranno elaborati temporaneamente sul server dell'hub azioni di Looker anziché nell'istanza di Looker.

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

Requisiti di Looker Action Hub

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

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

Richieste dall'istanza Looker alla rete di Looker Action Hub

Le richieste a actions.looker.com si risolvono in un indirizzo IP dinamico. Le richieste in uscita dall'istanza 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 di Looker alla rete di Looker Action Hub

Il browser dell'utente di Looker deve essere in grado di inviare richieste ai seguenti endpoint di Hub azioni di Looker (per OAuth):

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

dove name è il nome programmatico dell'azione.

Richieste dalla rete dell'hub azioni di Looker all'istanza Looker

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

Un'azione di flusso consente all'azione di consumare 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 Looker di origine perché l'hub azioni di Looker è stateless e multi-tenant e non archivierà credenziali specifiche dell'utente di alcun tipo.

Le richieste dall'hub azioni di Looker a un'istanza 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 sul posto nell'istanza di Looker prima di essere inviati all'hub azioni di Looker. Per questo motivo, l'hub di azioni di Looker deve essere in grado sia di risolvere il <host_looker_url> in un indirizzo IP e di inviare richieste alla rete in cui risiede l'istanza di Looker.

Looker Action Hub ha indirizzi IP in uscita statici da cui provengono sempre le richieste: 35.153.89.114, 104.196.138.163 e 35.169.42.87. Gli amministratori delle istanze ospitate da Looker che hanno attivato la lista consentita degli IP devono aggiungere questi indirizzi IP per eseguire azioni che supportano la trasmissione dei risultati in modalità flusso o che utilizzano OAuth.

Considerazioni per le istanze ospitate dal cliente

Per utilizzare le integrazioni di Looker, Looker Action Hub deve essere in grado di comunicare con l'istanza di Looker e soddisfare i requisiti dell'hub azioni di Looker. Ci sono vari motivi per cui ciò non è sempre possibile con le istanze Looker ospitate dal cliente. Se la comunicazione bidirezionale tra Looker Action Hub e l'istanza di Looker non è possibile, quest'ultimo potrebbe presentare un comportamento imprevisto o indesiderato, ad esempio per interrompere le query o eseguire azioni non disponibili.

Per risolvere il potenziale problema relativo all'impossibilità di comunicazione di Looker Action Hub con l'istanza Looker, gli amministratori di Looker possono implementare una delle soluzioni mostrate di seguito in questa pagina. La soluzione o la combinazione di soluzioni appropriata dipenderà dall'architettura dell'istanza di Looker:

  • Se l'istanza ospitata dal cliente non è risolvibile da Looker Action Hub, ovvero Looker Action Hub non può ricevere richieste dall'istanza di Looker, gli amministratori di Looker possono contattare un esperto delle vendite di Google Cloud per abilitare la funzionalità della licenza public_host_url. La funzionalità di licenza mostra l'opzione di avvio --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 sostituisce il nome host per alcuni URL di callback di Looker Action Hub specifici e inoltra questi URL di callback tramite un proxy inverso che ha public_host_url come nome risolvibile pubblicamente. Questo proxy inverso accetta richieste solo dagli indirizzi IP di uscita statici per l'hub azioni di Looker. Gli amministratori di Looker che utilizzano questo metodo devono aggiungere alla lista consentita gli indirizzi IP di uscita da cui l'hub azioni di Looker invia 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 in 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 Looker Action Hub invia le richieste all'istanza di Looker: 35.153.89.114, 104.196.138.163 e 35.169.42.87.

  • Se nessuna delle soluzioni sopra citate è appropriata per l'architettura delle istanze 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 la trasmissione di 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 l'hub azioni di Looker possa comunicare con esso. Questa soluzione, tuttavia, non è consigliata.

Inoltre, le azioni OAuth e di flusso potrebbero non essere utilizzabili su un'istanza Looker ospitata dal cliente se l'istanza utilizza un certificato SSL emesso da un'autorità di certificazione (CA) non presente in questo elenco di certificati radice.

Creazione di 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 vedere esempi di codice funzionale, controlla le azioni esistenti nel repository looker-open-source/actions in GitHub.

Per creare un'azione personalizzata:

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

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

Configurazione di un repository di sviluppo

Looker Action Hub è un server Node.js scritto in TypeScript, un piccolo livello sopra il moderno JavaScript che aggiunge informazioni sul tipo per aiutare a individuare gli errori di programmazione. Se conosci JavaScript, la maggior parte del linguaggio TypeScript dovrebbe esserti familiare.

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

  • Node.js
  • Gestore della versione del nodo (NVM: per selezionare la versione di Node.js corretta)
  • Yarn (per gestire le dipendenze)

Una volta installato il software richiesto, puoi configurare l'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 necessari per eseguire l'azione. Per un esempio di struttura del file, consulta il repository GitHub di Actions.

Looker consiglia di aggiungere anche quanto segue:

  • Un file README per spiegare lo scopo e i mezzi di autenticazione per l'azione
  • Un'icona PNG da visualizzare nell'hub azioni di Looker (o nell'hub delle azioni privato sull'istanza di Looker) e nelle finestre di invio dei dati di Looker
  • Eventuali file per i test che vuoi eseguire sul codice dell'azione. Questo è diverso dal test dell'azione

Scrivere un'azione

Un requisito di progettazione per il server di Looker Action Hub è che rimanga completamente stateless, pertanto non è consentito memorizzare informazioni nell'applicazione o nel servizio di azioni. Qualsiasi informazione necessaria per completare l'azione deve essere fornita nelle chiamate di richiesta del file delle azioni.

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

I file di azioni si basano sul metodo dell'API /execute. Alle richieste dell'API Looker viene passato un DataActionRequest ogni volta che un utente esegue l'azione in Looker. DataActionRequest contiene tutti i dati e i metadati necessari per eseguire l'azione. È disponibile 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 Pianificazione quando gli utenti selezionano l'azione come destinazione per l'invio dei dati.

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

Parametro Obbligatorio Descrizione Tipo di dati
name Un nome univoco per l'azione. Deve essere univoco per tutte le azioni nell'hub di 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 azioni 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 il nome, l'etichetta e la descrizione in formato stringa per ogni parametro. Questi sono i campi visualizzati nella pagina di attivazione dell'azione nel riquadro Amministrazione. Per gestire il modo in cui gli utenti possono inviare i 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 di icona per l'azione. string
requiredFields No Un elenco di descrizioni dei campi obbligatori con cui è compatibile questa azione. Se questo elenco contiene più voci, l'azione richiede più di un campo. RequiredField
supportedDownloadSettings No Un valore booleano che determina se verrà inviato all'azione un URL di download monouso per facilitare lo streaming illimitato di dati. Il parametro viene impostato dal parametro usesStreaming, che è un valore booleano true/false. Se usesStreaming = true, allora supportedDownloadSettings = url. Se usesStreaming = false, allora supportedDownloadSettings = push. Booleano
usesOAuth No Un valore booleano che determina se l'azione è un'azione OAuth. Questo determinerà se per l'azione verrà inviato un link monouso per poter impostare state per un utente specifico per questa azione. Booleano
usesStreaming No Un valore booleano che determina se l'azione supporta i risultati delle query in streaming. Controlla la colonna Utilizza streaming di dati (Sì/No) nell'elenco dei servizi integrati. Le azioni che trasmettono i risultati in streaming potrebbero richiedere la configurazione di un server hub azioni locale. Per ulteriori informazioni, consulta la pagina delle Best practice Configurare un hub azioni locale per le azioni che utilizzano OAuth o lo streaming. Booleano
minimumSupportedVersion No La versione minima di Looker in cui l'azione verrà visualizzata nell'elenco dell'hub azioni del riquadro Amministrazione. string

Esempi delle azioni di Looker Action Hub sono disponibili su GitHub come riferimento.

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: si tratta di un'azione che invia un'intera query. L'azione Segmento, ad esempio, è un'azione a livello di query.
  • Azione a livello di cella: un'azione a livello di cella invia il valore di una singola cella specifica di una tabella di dati. Questo tipo di azione è diverso dalle azioni sui dati, che possono essere definite per le dimensioni o le 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 mappati con il parametro tags di LookML. Ad esempio, l'azione di messaggio Twilio utilizza un tag phone in modo che gli sviluppatori LookML possano controllare in quali campi del numero di telefono verrà visualizzata l'azione Twilio.
  • Un'azione a livello di dashboard:un'azione a livello di dashboard supporta l'invio dell'immagine di una dashboard. Ad esempio, l'azione SendGrid invia le immagini della dashboard via email.

Aggiunta di attributi utente alle azioni personalizzate

Per le azioni personalizzate, puoi aggiungere gli attributi utente nel parametro params del file di 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'send_to_integration autorizzazione, per poter visualizzare l'azione come opzione di destinazione quando vengono inviati o pianificati contenuti.

Per aggiungere un attributo utente all'azione:

  1. Un amministratore di Looker potrebbe dover creare l'attributo utente corrispondente a 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 contenuti alla destinazione dell'azione. Questi utenti devono disporre anche delle autorizzazioni send_to_integration.
  3. Il parametro params rappresenta i campi del modulo che un amministratore di Looker deve configurare nella pagina di abilitazione dell'azione dall'elenco Azioni nel riquadro Amministrazione. Nel parametro params del file delle azioni, includi quanto segue:
  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 Nome della pagina Attributi utente nella sezione Utenti del riquadro Amministrazione, required: true indica che un utente deve avere un valore non nullo e valido definito per l'attributo utente per visualizzare l'azione quando i dati vengono caricati e sensitive: true indica che l'attributo utente è criptato e non viene mai visualizzato nell'interfaccia utente di Looker dopo essere stato inserito. Puoi specificare più sottoparametri di attributi utente.

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

Parametri requiredField nelle azioni a livello di cella

Per le azioni a livello di cella, puoi configurare i campi LookML del modello per inviare i dati alla destinazione dell'azione specificando i tag supportati dall'azione nel parametro requiredFields del file dell'azione.

Parametro Obbligatorio 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 contenente uno dei tag forniti. string
all_tags No Se presente, sostituisce tag e corrisponde a un campo che contiene tutti i tag forniti. string

Formati di dati supportati

La classe DataActionRequest definisce il formato di importazione dei dati disponibile per l'azione. Per le azioni a livello di query, la richiesta conterrà un allegato che può essere in diversi formati. L'azione può specificare uno o più supportedFormats o lasciare che sia l'utente a scegliere il formato specificando tutti i formati possibili. Per le azioni a livello di cella, il valore della cella sarà presente in DataActionRequest.

Configurare un'azione per OAuth

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

Flusso OAuth dell'azione di Looker

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

Il flusso per la creazione di azioni di solito comporta una richiesta /form seguita da una richiesta /execute. Per OAuth, la richiesta /form deve avere un metodo per determinare se l'utente è autenticato nel servizio di destinazione. Se l'utente è già autenticato, l'azione deve restituire un normale /form in base alle esigenze della richiesta /execute. Se l'utente non è autenticato, l'azione restituisce un link che inizializzerà un flusso OAuth.

Salvataggio dello stato con l'URL OAuth

Looker invierà una richiesta POST HTTP con un corpo vuoto all'endpoint ActionList. Se l'azione restituisce uses_oauth: true nella relativa definizione, a questa verrà inviato un state_url monouso in ogni richiesta /form di Looker. state_url è un URL speciale utilizzabile una sola volta che imposta lo stato di un utente per una determinata azione.

Se l'utente non è autenticato con l'endpoint, il valore /form restituito deve contenere un valore form_field di tipo oauth_link che rimanda all'endpoint /oauth di un'azione. state_url deve essere criptato e salvato come parametro state nel oauth_url 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 genera il reindirizzamento nel metodo oauthUrl(...) in un'azione OAuth, come mostrato in 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 di azioni e passato al metodo oauthUrl(...) dell'azione. redirect_uri è nel formato /actions/src/actions/my_maction/oauth_redirect ed è l'endpoint utilizzato se l'autenticazione restituisce un risultato.

Questo endpoint chiamerà il metodo oauthFetchInfo(...), che dovrebbe 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 state_url criptato e lo utilizza per inviare nuovamente state a Looker tramite POST. La volta successiva che un utente effettuerà una richiesta all'azione, lo stato appena salvato verrà inviato all'hub azioni di Looker.

Aggiunta dei file di azioni al repository di Looker Action Hub

Una volta scritto il file di azioni, nel repository di Hub azioni di Looker:

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

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

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

    yarn install
    
  4. Esegui i test che hai scritto.

yarn test

Testare un'azione

Per i test completi, puoi provare a eseguire un'azione sull'istanza di Looker ospitando un server hub azioni privato. Questo server deve essere su internet pubblico con un certificato SSL valido e deve essere in grado di avviare e ricevere connessioni o richieste HTTPS da e verso Looker. A questo scopo, puoi utilizzare una piattaforma basata su cloud come Heroku, come mostrato nell'esempio seguente. In alternativa, puoi utilizzare 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 e eseguiremo il commit del codice su un nuovo ramo Git. Ti consigliamo di lavorare sulle funzionalità utilizzando i rami in modo da poter monitorare facilmente il codice e, se vuoi, creare facilmente una PR con Looker.

  1. Per iniziare, crea il tuo ramo, quindi esegui lo staging e 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 su Heroku, configura il tuo 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 ora ospita l'hub di azioni per il tuo utilizzo. Visita l'URL o esegui heroku logs per verificare che l'hub di azioni sia in esecuzione. Se dimentichi l'URL pubblico, puoi eseguire il comando seguente 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 azioni:

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

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

    heroku run yarn generate-api-key
    

    Se non usi Heroku, come in questo esempio, usa:

    yarn generate-api-key
    

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

  7. Imposta il segreto dell'hub di azioni utilizzando la chiave segreta:

    heroku config:set ACTION_HUB_SECRET="abcdefg123456789"
    

    Le implementazioni ospitate dal cliente potrebbero richiedere la configurazione di variabili di ambiente aggiuntive non documentate qui.

  8. Aggiungi l'azione all'istanza Looker locale in Amministrazione > Azioni.

    • Nella parte inferiore dell'elenco delle azioni, fai clic su Aggiungi Hub di azioni.
    • Inserisci l'URL di Action Hub e, facoltativamente, una chiave segreta.
    • Trova l'azione nell'elenco Azioni del menu Amministrazione di Looker.
    • Fai clic su Attiva.

Se l'azione richiede il passaggio di tipi specifici di dati da Looker, assicurati di configurare i modelli in modo da includere il parametro tags appropriato.

Ora puoi testare l'azione.

Testare 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. Nel look salvato, fai clic sul menu in alto a destra e seleziona Invia con la tua azione come destinazione. Se hai un modulo per l'invio, Looker lo mostrerà nella finestra Inviati.

Fai clic su Invia test per inviare i dati. Lo stato dell'azione viene visualizzato nella Cronologia dello scheduler nel riquadro Amministrazione. Se si verifica un errore, l'azione verrà visualizzata nel riquadro Amministrazione e Looker invierà un'email con il messaggio di errore all'utente che ha inviato l'azione.

Test delle azioni a livello di cella

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

Pubblicare e attivare un'azione personalizzata

Esistono due opzioni di pubblicazione per le azioni personalizzate:

Una volta pubblicata l'azione, puoi attivarla dalla pagina Azioni nel riquadro Amministrazione.

Pubblicazione nell'hub azioni di Looker

Questo approccio è il più semplice ed è adatto a qualsiasi azione che vuoi rendere disponibile a chiunque utilizzi Looker.

Dopo aver testato l'azione, puoi inviare una PR al repository looker-open-source/actions su 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 destinazione.

  3. Compila Looker Marketplace e Modulo di invio di Action Hub. Per saperne di più sui requisiti del modulo, consulta Invio di contenuti a Looker Marketplace.

    Looker esaminerà il codice di azione. Ci riserviamo il diritto di rifiutare il tuo PR, ma possiamo aiutarti a risolvere eventuali problemi e offrirti suggerimenti per migliorare. Uniamo quindi il codice al repository looker-open-source/actions e lo eseguiamo in actions.looker.com. Una volta eseguito il deployment, il codice sarà disponibile per tutti i clienti di Looker.

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

Pubblicazione su un server hub azioni privato

Se hai azioni personalizzate private per la tua azienda o il tuo caso d'uso, non aggiungerle 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 (nell'esempio abbiamo usato Heroku). Non dimenticare di eseguire il fork dell'hub azioni di Looker sul tuo server hub azioni privato prima del deployment.

Configurazione di un modello LookML per l'utilizzo con un'azione

Per le azioni personalizzate e quelle disponibili nell'hub azioni di Looker, devi identificare i campi di dati pertinenti utilizzando il parametro tags nel modello LookML. La pagina Azioni del riquadro Amministrazione fornisce informazioni sugli eventuali tag richiesti per il servizio.

Ad esempio, un'integrazione Twilio Send Message invia un messaggio a un elenco di numeri di telefono. Nella pagina Azioni del riquadro Amministrazione, l'integrazione mostra il testo secondario "L'azione può essere utilizzata con le query che hanno un campo contrassegnato come phone".

Ciò significa che il servizio Twilio Send Message richiede una query che includa un campo per il numero di telefono e che utilizzi il parametro tags per identificare il campo della query che contiene numeri di telefono. Per identificare un campo del numero di telefono in LookML, specifica tags: ["phone"] per quel campo. Il codice LookML per un campo del numero di telefono potrebbe essere simile al seguente:

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

Un'integrazione che non richiede tag mostrerà il testo secondario "L'azione può essere utilizzata con qualsiasi query". Nella pagina Azioni nel riquadro Amministrazione.

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

Passaggi successivi

Scopri come inviare i contenuti di un Look o di un'esplorazione o di una dashboard a un servizio integrato.