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 possibili
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, impostare valori in altre applicazioni o eseguire 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 una misura. Puoi accedere all'azione selezionando il relativo campo in una pagina Esplora, in un look o in una dashboard.

Quando definisci un action, specifichi il comportamento scelto utilizzando i seguenti parametri:

Parametro Descrizione
label Una stringa che specifica il nome dell'azione così come verrà visualizzato dagli utenti nel menu Azione.
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 corrispondenti 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 più facilmente, 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 Specifica del comportamento del modulo utilizzando form_url o form_param di questa pagina. Il form_url deve essere accessibile al server Looker e utilizzare HTTPS con un certificato valido.
param Trasmette un valore al server di ricezione.
form_param Aggiunge un input del modulo che verrà visualizzato per questa azione.
user_attribute_param Trasmette 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 di 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 saperne di più su questa opzione, consulta la sezione Valuta la possibilità di utilizzare l'hub azioni di Looker in questa pagina.

Trasferimento degli attributi utente al server di ricezione utilizzando user_attribute_param

Puoi inviare gli attributi utente al server di ricezione utilizzando il parametro user_attribute_param. All'interno di ogni user_attribute_param, specifica 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

Passaggio di valori al server di ricezione utilizzando param

Puoi inviare dati arbitrari nel payload JSON utilizzando il parametro param. All'interno di ogni param, specifica 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 trasmettere 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 trasmetti 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, Visualizza o dashboard) in cui è stata attivata l'azione. Puoi farlo con il parametro form_url o form_param.

Se vuoi che il server dell'action hub definisca il layout del modulo, utilizza il parametro form_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 possibili 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 dall'utente:

  • select: mostra un elenco a discesa
  • string: visualizza un campo di immissione a riga singola
  • textarea: visualizza una casella di input 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 le opzioni di selezione qui

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

Opzione Tipo Descrizione
name Stringa 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 mostra 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 visualizzata una i cerchiata, che indica che l'azione non è riuscita.

Se a sinistra di un'azione non viene visualizzata alcuna icona, 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 all'esito positivo 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 per impostazione predefinita su true e l'impostazione di success su false indica a Looker che la richiesta non è andata a buon fine. Inoltre, refresh_query è impostato per impostazione predefinita su false e se lo imposti su true la query Looker corrente verrà eseguita di nuovo, 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 per impostazione predefinita su {}. 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 corrisponda 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"
}

Valuta la possibilità di utilizzare l'hub azioni di Looker

Il parametro action è una buona scelta se non disponi già di un server configurato per ricevere le richieste di azione o se vuoi implementare un caso d'uso con riutilizzabilità limitata. Tuttavia, in alternativa, potresti prendere in considerazione l'utilizzo delle azioni a livello di campo disponibili nell'hub azioni di Looker. Assicurati che la tua istanza soddisfi questi requisiti di Looker Action Hub.

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