azione

Utilizzo

view: view_name {
  dimension: field_name {
    action:  {
      label: "Label to Appear in Action Menu"
      url: "https://example.com/posts"
      icon_url: "https://looker.com/favicon.ico"
      form_url: "https://example.com/ping/{{ value }}/form.json"
      param: {
        name: "name string"
        value: "value string"
      }
      form_param: {
        name:  "name string"
        type: textarea | string | select
        label:  "possibly-localized-string"
        option: {
          name:  "name string"
          label:  "possibly-localized-string"
        }
        required:  yes | no
        description:  "possibly-localized-string"
        default:  "string"
      }
      user_attribute_param: {
        user_attribute: user_attribute_name
        name: "name_for_json_payload"
      }
    }
  }
}
Gerarchia
action
Tipi di campi disponibili
Dimensione, Misura

Valore predefinito
Nessuno

Accetta
Vari parametri

Regole speciali
  • L'URL di form_url deve essere accessibile al server Looker e utilizzare HTTPS con un certificato valido
  • L'URL di icon_url deve essere accessibile al browser dell'utente

Definizione

Il parametro action crea un'azione sui dati che consente agli utenti di eseguire attività a livello di campo in altri strumenti, direttamente da Looker. Ad esempio, l'azione può causare l'invio di un'email, l'impostazione di valori in altre applicazioni o l'esecuzione di qualsiasi altra azione che puoi configurare per un server di ricezione. Il server di ricezione deve essere in grado di accettare un POST JSON.

Puoi definire un' action per una dimensione o misura. Puoi accedere all'azione selezionando il relativo campo in una pagina Esplora, in una Look o in una dashboard.

Quando definisci un' action, devi specificare il comportamento scelto utilizzando i seguenti parametri:

Parametro Descrizione
label Una stringa che specifica il nome dell'azione così come verrà visualizzata dagli utenti nel menu Azioni.
url Una stringa che specifica l'URL per elaborare l'azione. Se viene specificata una lista consentita degli URL per le azioni sui dati, devi aggiungere questo valore url alla lista consentita. Per qualsiasi azione sui dati sono consentiti solo gli URL che corrispondono al pattern della lista consentita. Se non esistono voci, tutti gli URL sono consentiti per le azioni sui dati.
icon_url Una stringa che specifica un URL contenente un file immagine per consentire agli utenti di capire a colpo d'occhio dove li indirizzerà questo link. Il valore icon_url deve essere accessibile al browser dell'utente.
form_url Una stringa che specifica un URL che restituirà un modulo da presentare agli utenti; il modulo deve essere presentato in formato JSON come descritto nella sezione Specificare il comportamento del modulo utilizzando form_url o form_param in questa pagina. L'URL form_url deve essere accessibile al server Looker e utilizzare HTTPS con un certificato valido.
param Passa un valore al server di ricezione.
form_param Aggiunge un input del modulo che verrà visualizzato per questa azione.
user_attribute_param Passa un attributo utente al server di ricezione. Se utilizzi un user_attribute_param per l'azione sui dati, devi aggiungere il valore url dell'azione sui dati alla lista consentita degli URL per le azioni sui dati.

Analogamente a un'azione sui dati, puoi anche utilizzare un'azione a livello di campo disponibile nell'hub azioni di Looker per inviare dati da una cella specifica. Per ulteriori informazioni su questa opzione, consulta la sezione Valutare l'utilizzo dell'hub azioni di Looker in questa pagina.

Passare gli attributi utente al server di ricezione utilizzando user_attribute_param

Puoi inviare attributi utente al server di ricezione utilizzando il parametro user_attribute_param. All'interno di ogni user_attribute_param devi specificare i seguenti sottoparametri:

Parametro Tipo Descrizione
user_attribute ID Looker Il nome dell'attributo utente in Looker
name Stringa Il nome dell'attributo così come vuoi che venga visualizzato nel payload JSON

Passare i valori al server di ricezione utilizzando param

Puoi inviare dati arbitrari nel payload JSON utilizzando il parametro param. All'interno di ogni param devi specificare i seguenti sottoparametri:

Parametro Tipo Descrizione
name Stringa Nome di un parametro da passare al server di ricezione
value Stringa Valore di un parametro da passare al server di ricezione

Non passare dati sensibili o informazioni private, come le credenziali utente, nel parametro param. Configura invece le credenziali utente come attributo utente nelle impostazioni di amministrazione e passa queste informazioni nel parametro user_attribute_param.

Specificare il comportamento del modulo utilizzando form_url o form_param

Puoi creare un modulo con cui gli utenti di Looker possono interagire e poi inviare l'input del modulo nel payload JSON. Se visualizzi un modulo, questo verrà visualizzato come overlay sulla pagina (Esplora, Look o dashboard) in cui è stata attivata l'azione. Puoi farlo con il parametro form_url o form_param.

Se vuoi che il server dell'hub azioni definisca il layout del modulo, utilizza il parametro form_url. L'URL form_url deve contenere un URL che restituisce una rappresentazione JSON del modulo, come descritto più avanti in questa pagina.

Se vuoi definire il layout del modulo direttamente in LookML, utilizza il parametro form_param.

Opzioni del modulo

In entrambi i casi, le opzioni che puoi utilizzare per definire il modulo sono:

Opzione Tipo Descrizione
name Stringa Il nome del valore così come verrà visualizzato nel payload JSON
type Tipo input Il tipo di campo del modulo che verrà visualizzato all'utente:

  • select - visualizza un elenco a discesa
  • string - visualizza un campo di immissione a riga singola
  • textarea - visualizza una casella di immissione di testo su più righe
label Stringa L'etichetta dell'input così come verrà visualizzata dagli utenti
description Stringa Una descrizione del campo che verrà visualizzata dagli utenti
required Booleano Specifica se l'opzione del modulo deve essere fornita dall'utente prima dell'invio del modulo
default Stringa Il valore iniziale del campo del modulo, se presente
option Stringa Se scegli un type di select, definisci qui le opzioni di selezione

Se imposti type su select, devi specificare gli elementi nell'elenco a discesa utilizzando option. Ogni option include i seguenti dettagli:

Opzione Tipo Descrizione
name Stringa Il nome del valore del modulo così come verrà visualizzato nel payload JSON
label Stringa L'etichetta dell'opzione così come verrà visualizzata dagli utenti (facoltativo)

Utilizzare un'azione sui dati senza un modulo

Se non includi un parametro form_url o form_param nella definizione di action, l'azione sui dati non includerà un modulo. In questo caso, l'azione invia una richiesta quando un utente la seleziona dal menu Azioni.

Dopo aver selezionato un'azione senza modulo, il menu Azioni visualizza le icone a sinistra dell'azione per indicarne lo stato:

  • Viene visualizzata un'icona di caricamento, che indica che l'azione è in esecuzione.

  • Viene visualizzato un segno di spunta, che indica che l'azione è stata eseguita.

  • Viene visualizzato un i cerchiato, che indica che l'azione non è riuscita.

Se non viene visualizzata alcuna icona a sinistra di un'azione, l'azione non è stata attivata.

Risposte del server

Una risposta HTTP riuscita verrà considerata un'azione riuscita.

Il server può anche restituire a Looker alcune opzioni relative al successo dell'azione. Se la richiesta webhook risponde con JSON, Looker cerca una chiave looker speciale nella risposta. Tutto il resto viene ignorato. Ad esempio, in:

{
  "my_apps_business_logic": "something",
  "looker": {
    "success": true,
    "refresh_query": true
  }
}

Qui success è impostato su true per impostazione predefinita e l'impostazione di success su false indicherà in Looker che la richiesta non è riuscita. Inoltre, refresh_query è impostato su false per impostazione predefinita e l'impostazione su true eseguirà di nuovo la query Looker corrente, ignorando la cache.

Puoi anche rispondere con errori di convalida per tutti i parametri del modulo che sono stati passati:

{
  "looker": {
    "success": false,
    "validation_errors": {
      "body": "Body must be more than 10 characters long."
    }
  }
}

Qui validation_errors è impostato su {} per impostazione predefinita. Questo deve essere un oggetto JSON in cui le chiavi sono i nomi dei parametri del modulo e il valore è una stringa che rappresenta un messaggio di errore per quel parametro.

Esempi

Se utilizzi il parametro form_url (con la sintassi Liquid in questo esempio), tutte le opzioni devono essere restituite in un oggetto JSON. Ad esempio:

dimension: foo {
  action: {
    label: "Send a Thing"
    url: "https://example.com/ping/\{{ value \}}"
    form_url: "https://example.com/ping/\{{ value \}}/form.json"
  }
}

Il server deve restituire una rappresentazione JSON di un modulo che corrisponde a LookML:

[
  {
    "name": "title",
    "type": "select",
    "label": "desired label name",
    "description": "description text",
    "required": true,
    "default": "value string",
    "options": [
      {
        "name": "name string"
        "label": "desired label name"
      },
      {
        "name": "name string"
        "label": "desired label name"
      }
    ]
  },
  {
    "name": "title",
    "type": "textarea",
    "label": "desired label name",
    "description": "description text",
    "required": true,
    "default": "value string",
  }
]

Se utilizzi il parametro form_param, le opzioni vengono utilizzate come parametri LookML. Ad esempio:

form_param: {
  name: "title"
  type: select
  label: "desired label name"
  option: {
    name: "name string"
    label: "desired label name"
  }
  required: yes
  description: "description text"
  default: "value string"
}

Valutare l'utilizzo dell'hub azioni di Looker

Il parametro action è una buona scelta se non hai già un server configurato per ricevere le richieste di azioni o se vuoi implementare un caso d'uso con riutilizzabilità limitata. Tuttavia, in alternativa, potresti valutare la possibilità di utilizzare le azioni a livello di campo disponibili nell'hub azioni di Looker. (Assicurati che la tua istanza soddisfi questi requisiti dell'hub azioni di Looker.)

Oltre alle integrazioni dell'hub azioni di Looker esistenti, puoi anche creare la tua azione personalizzata seguendo le istruzioni riportate nella pagina di documentazione dell'hub azioni.