Aktion

Nutzung

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"
      }
    }
  }
}
Hierarchie
action
Mögliche Feldtypen
Dimension, Messung

Standardwert
Keine

Akzeptiert
Verschiedene Parameter

Sonderregeln
  • Die URL von form_url muss für den Looker-Server zugänglich sein und HTTPS mit einem gültigen Zertifikat verwenden.
  • Die URL von icon_url muss für den Browser des Nutzers zugänglich sein.

Definition

Mit dem Parameter action wird eine Datenaktion erstellt, mit der sich direkt in Looker Aufgaben auf Feldebene in anderen Tools ausführen lassen. Die Aktion kann beispielsweise dazu führen, dass eine E-Mail gesendet wird, Werte in anderen Anwendungen festgelegt werden oder eine andere Aktion ausgeführt wird, für die Sie einen empfangenden Server konfigurieren können. Der empfangende Server muss in der Lage sein, einen JSON-POST zu akzeptieren.

Sie können ein action für eine Dimension oder Messung definieren. Sie können auf die Aktion zugreifen, indem Sie das entsprechende Feld auf einer Explore-Seite, in einem Look oder in einem Dashboard auswählen.

Wenn Sie eine action definieren, geben Sie das gewünschte Verhalten mit den folgenden Parametern an:

Parameter Beschreibung
label Ein String, der den Namen der Aktion angibt, wie er Nutzerinnen und Nutzern im Aktionsmenü angezeigt wird.
url Ein String, der die URL für die Verarbeitung der Aktion angibt. Wenn eine URL-Zulassungsliste für Datenaktionen angegeben ist, müssen Sie diesen url Wert der Zulassungsliste hinzufügen. Für Datenaktionen sind nur URLs zulässig, die mit dem Muster der Zulassungsliste übereinstimmen. Wenn keine Einträge vorhanden sind, sind alle URLs für Datenaktionen zulässig.
icon_url Ein String, der eine URL angibt, die eine Bilddatei enthält, damit Nutzer auf einen Blick sehen können, wohin sie dieser Link führt. Der Wert icon_url muss für den Browser des Nutzers zugänglich sein.
form_url Ein String, der eine URL angibt, die ein Formular zurückgibt, das Nutzern präsentiert wird. Das Formular muss im JSON-Format präsentiert werden, wie im Abschnitt Formularverhalten mit form_url oder form_param angeben auf dieser Seite beschrieben. Die URL von form_url muss für den Looker-Server zugänglich sein und HTTPS mit einem gültigen Zertifikat verwenden.
param Übergibt einen Wert an den empfangenden Server.
form_param Fügt eine Formulareingabe hinzu, die für diese Aktion angezeigt wird.
user_attribute_param Übergibt ein Nutzerattribut an den empfangenden Server. Sie müssen den -Wert der Datenaktion der URL-Zulassungsliste für Datenaktionen hinzufügen, wenn Sie für Ihre Datenaktion verwenden.urluser_attribute_param

Ähnlich wie bei einer Datenaktion können Sie auch eine Aktion auf Feldebene verwenden, die im Looker Action Hub verfügbar ist, um Daten aus einer bestimmten Zelle zu senden. Weitere Informationen zu dieser Option finden Sie im Abschnitt Looker Action Hub verwenden auf dieser Seite.

Nutzerattribute mit user_attribute_param an den empfangenden Server übergeben

Mit dem user_attribute_param Parameter können Sie Nutzerattribute an den empfangenden Server senden. In jedem user_attribute_param geben Sie die folgenden Unterparameter an:

Parameter Typ Beschreibung
user_attribute Looker-ID Der Name des Nutzerattributs in Looker
name String Der Name des Attributs, wie es in der JSON-Nutzlast angezeigt werden soll

Werte mit param an den empfangenden Server übergeben

Mit dem Parameter param können Sie beliebige Daten in Ihrer JSON-Nutzlast senden. In jedem param geben Sie die folgenden Unterparameter an:

Parameter Typ Beschreibung
name String Name eines Parameters, der an den empfangenden Server übergeben werden soll
value String Wert eines Parameters, der an den empfangenden Server übergeben werden soll

Übergeben Sie mit dem Parameter param keine vertraulichen Daten oder privaten Informationen wie Anmeldedaten. Konfigurieren Sie stattdessen Anmeldedaten als Nutzerattribut in den Administratoreinstellungen und übergeben Sie diese Informationen im Parameter user_attribute_param.

Formularverhalten mit form_url oder form_param angeben

Sie können ein Formular erstellen, mit dem Looker-Nutzer interagieren und ihre Formulareingaben dann in Ihrer JSON-Nutzlast senden können. Wenn Sie ein Formular anzeigen, wird es als Overlay auf der Seite (Explore, Look oder Dashboard) angezeigt, auf der die Aktion ausgelöst wurde. Sie können dazu entweder den Parameter form_url oder form_param verwenden.

Wenn der Action Hub-Server das Formularlayout definieren soll, verwenden Sie den Parameter form_url. Die URL von form_url sollte eine URL enthalten, die eine JSON-Darstellung des Formulars zurückgibt, wie weiter unten auf dieser Seite beschrieben.

Wenn Sie das Formularlayout direkt in LookML definieren möchten, verwenden Sie den Parameter form_param.

Formularoptionen

In beiden Fällen sind die folgenden Optionen verfügbar, mit denen Sie das Formular definieren können:

Option Typ Beschreibung
name String Der Name des Werts, wie er in Ihrer JSON-Nutzlast angezeigt wird
type Eingabetyp Der Typ des Formularfelds, das dem Nutzer angezeigt wird:

  • select: Zeigt eine Drop-down-Liste an.
  • string: Zeigt ein einzeiliges Eingabefeld an.
  • textarea: Zeigt ein mehrzeiliges Texteingabefeld an.
label String Das Label für die Eingabe, wie es Nutzern angezeigt wird
description String Eine Beschreibung für das Feld, die Nutzern angezeigt wird
required Boolesch Gibt an, ob die Formularoption vom Nutzer angegeben werden muss, bevor das Formular gesendet wird
default String Der Startwert des Formularfelds, falls vorhanden
option String Wenn Sie für type den Wert select auswählen, definieren Sie hier die Auswahloptionen.

Wenn Sie type auf select setzen, geben Sie die Elemente in der Drop-down-Liste mit option an. Jede option enthält die folgenden Details:

Option Typ Beschreibung
name String Der Name des Formularwerts, wie er in Ihrer JSON-Nutzlast angezeigt wird
label String Das Label für die Option, wie es Nutzern angezeigt wird (optional)

Datenaktion ohne Formular verwenden

Wenn Sie in Ihrer action-Definition keinen Parameter form_url oder form_param angeben, enthält die Datenaktion kein Formular. In diesem Fall sendet die Aktion eine Anfrage, wenn ein Nutzer diese Aktion im Menü Aktionen auswählt.

Nachdem eine Aktion ohne Formular ausgewählt wurde, werden im Menü Aktionen links neben der Aktion Symbole angezeigt, die den Status angeben:

  • Ein Ladesymbol zeigt an, dass die Aktion ausgeführt wird.

  • Ein Häkchen zeigt an, dass die Aktion ausgeführt wurde.

  • Ein i in einem Kreis zeigt an, dass die Aktion fehlgeschlagen ist.

Wenn links neben einer Aktion kein Symbol angezeigt wird, wurde die Aktion nicht ausgelöst.

Serverantworten

Eine erfolgreiche HTTP-Antwort wird als erfolgreiche Aktion betrachtet.

Der Server kann auch einige Optionen zum Erfolg der Aktion an Looker zurückgeben. Wenn die Webhook-Anfrage mit JSON antwortet, sucht Looker in der Antwort nach einem speziellen looker-Schlüssel. Alles andere wird ignoriert. Beispiel:

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

Hier ist success standardmäßig auf true gesetzt. Wenn Sie success auf false setzen, wird in Looker angezeigt, dass die Anfrage fehlgeschlagen ist. Außerdem ist refresh_query standardmäßig auf false gesetzt. Wenn Sie es auf true setzen, wird die aktuelle Looker-Abfrage noch einmal ausgeführt, wobei der Cache übersprungen wird.

Sie können auch mit Validierungsfehlern für alle übergebenen Formularparameter antworten:

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

Hier ist validation_errors standardmäßig auf {} gesetzt. Dies sollte ein JSON-Objekt sein, bei dem die Schlüssel die Namen der Formularparameter und der Wert ein String mit einer Fehlermeldung für diesen Parameter ist.

Beispiele

Wenn Sie den form_url Parameter verwenden (mit Liquid-Syntax in diesem Beispiel), müssen alle Optionen in einem JSON-Objekt zurückgegeben werden. Beispiel:

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

Der Server sollte eine JSON-Darstellung eines Formulars zurückgeben, das mit LookML übereinstimmt:

[
  {
    "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",
  }
]

Wenn Sie den Parameter form_param verwenden, werden die Optionen als LookML-Parameter verwendet. Beispiel:

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"
}

Looker Action Hub verwenden

Der Parameter action ist eine gute Wahl, wenn Sie noch keinen Server haben, der für den Empfang Ihrer Aktionsanfragen eingerichtet ist, oder wenn Sie einen Anwendungsfall implementieren möchten, der nur begrenzt wiederverwendbar ist. Alternativ können Sie jedoch auch die Aktionen auf Feldebene verwenden, die im Looker Action Hub verfügbar sind. Achten Sie darauf, dass Ihre Instanz die Anforderungen für den Looker Action Hub erfüllt.

Zusätzlich zu den vorhandenen Looker Action Hub-Integrationen können Sie auch eine eigene benutzerdefinierte Aktion erstellen. Folgen Sie dazu der Anleitung auf der Dokumentationsseite zum Action Hub.