azione

Utilizzo

. foto per foto e nomi
Gerarchia
action
Tipi di campi possibili
Dimensione, misura

Valore predefinito
Nessuna

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 dal browser dell'utente

Definizione

Il parametro action crea un'azione 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 destinazione. Il server di destinazione deve essere in grado di accettare un POST JSON.

Puoi definire action per una dimensione o una misura. L'azione è quindi accessibile facendo clic sul suo campo in una pagina Esplora, in un Look o in una dashboard:

Quando definisci un action, puoi specificare il comportamento desiderato utilizzando i seguenti parametri:

Parametro Descrizione
label Una stringa che specifica il nome dell'azione visualizzato dagli utenti nel menu Azione.
url Una stringa che specifica l'URL per elaborare l'azione. Se viene specificata una [Lista consentita URL per azioni dati](/admin-options/settings/general#url_allowlist_for_data_actions), devi aggiungere questo valore url alla lista consentita. Per gli URL di dati sono consentiti solo gli URL che corrispondono al pattern della lista consentita. Se non sono presenti voci esistenti, sono consentiti tutti gli URL per le azioni relative ai dati.
icon_url Una stringa che specifica un URL contenente un file immagine per consentire agli utenti di capire più facilmente e in modo rapido a chi saranno indirizzati da questo link. Il valore icon_url deve essere accessibile al browser dell'utente.
form_url Stringa che specifica un URL che restituirà un modulo da presentare agli utenti; il modulo deve essere presentato in un formato JSON come descritto nella sezione Specificare il comportamento del modulo utilizzando form_url o form_param in questa pagina. form_url deve essere accessibile al server Looker e utilizzare HTTPS con un certificato valido.
param Passa un valore al server ricevente.
form_param Aggiunge un input del modulo che verrà visualizzato per questa azione.
user_attribute_param Passa un attributo utente al server di destinazione. Devi aggiungere il valore url dell'azione dati alla lista consentita URL per azioni dati se utilizzi un elemento user_attribute_param per l'azione dati.

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

Trasferire gli attributi utente al server di destinazione utilizzando user_attribute_param

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

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

Trasferire i valori al server di destinazione utilizzando param

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

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

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

Specifica del comportamento del modulo utilizzando form_url o form_param

Puoi creare un modulo con cui gli utenti di Looker possono interagire e inviare il modulo inserito nel payload JSON. Se visualizzi un modulo, questo viene visualizzato come un overlay nella pagina (Esplora, Guarda, Dashboard o Dashboard precedente) in cui è stata attivata l'azione. Puoi farlo con il parametro form_url o form_param.

Se vuoi che il server hub azioni 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 disponibili che puoi utilizzare per definire il modulo sono:

Opzione Tipo Descrizione
name Stringa Il nome del valore visualizzato nel payload JSON
type Tipo di valore Il tipo di campo del modulo che verrà mostrato all'utente:
select mostra 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 Etichetta per l'input mostrata agli utenti
description Stringa Una descrizione del campo che verrà visualizzata dagli utenti, se lo desideri.
required Booleano Specifica se l'opzione del modulo deve essere fornita dall'utente prima dell'invio del modulo
default Stringa L'eventuale valore iniziale del campo del modulo.
option Stringa Se scegli type di select, definisci le opzioni di selezione qui

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 Nome del valore del modulo come verrà visualizzato nel payload JSON
label Stringa L'etichetta dell'opzione così come verrà visualizzata dagli utenti (facoltativo)

Utilizzo di un'azione dati senza modulo

Se non includi un parametro form_url o form_param nella definizione di action, l'azione dei dati non includerà un modulo. In questo caso, l'azione invia una richiesta quando un utente fa clic sull'azione nel menu Azioni.

Dopo aver fatto clic su un'azione senza un 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 per indicare che l'azione è stata eseguita.
  • Viene visualizzata una i cerchiata, a indicare che l'azione non è riuscita.

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

Risposte server

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

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

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

In success, il valore predefinito è true e il valore success su false indicherà in Looker che la richiesta non è andata a buon fine. Inoltre, il valore predefinito di refresh_query è false e il valore true impostato eseguirà nuovamente la query di Looker corrente, saltando la cache.

Puoi anche rispondere con errori di convalida per qualsiasi parametro del modulo trasmesso:

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

Il valore predefinito di validation_errors è {}. 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 il parametro in questione.

Esempi

Se utilizzi il parametro form_url (con 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 dovrebbe restituire una rappresentazione JSON di un modulo corrispondente al 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 l'utilizzo dell'hub azioni di Looker

Il parametro action è una buona scelta se non hai già configurato un server per ricevere le tue richieste di azione o se vuoi implementare un caso d'uso con riutilizzo limitato. Tuttavia, ti consigliamo di prendere in considerazione l'utilizzo delle azioni a livello di campo disponibili nell'Looker Action Hub. Assicurati che l'istanza soddisfi questi requisiti.

Oltre alle integrazioni di Looker Action Hub esistenti, puoi anche creare una tua azione personalizzata seguendo le istruzioni riportate nella pagina della documentazione relativa all'Action Hub.