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, Messwert

Standardwert
Keine

Akzeptiert
Verschiedene Parameter

Besondere Regeln
  • 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 einen action für eine Dimension oder einen Messwert 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 Nutzern im Aktionsmenü angezeigt wird.
url Ein String, der die URL angibt, über die die Aktion verarbeitet werden soll. 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 über diesen Link weitergeleitet werden. Der Wert icon_url muss für den Browser des Nutzers zugänglich sein.
form_url Ein String, der eine URL angibt, über die ein Formular zurückgegeben wird, das Nutzern präsentiert werden soll. Das Formular muss im JSON-Format präsentiert werden, wie im Abschnitt Formularverhalten mit form_url oder form_param angeben auf dieser Seite beschrieben. Auf die form_url muss über den Looker-Server zugegriffen werden können. Außerdem muss HTTPS mit einem gültigen Zertifikat verwendet werden.
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. Wenn Sie für Ihre Datenaktion einen user_attribute_param verwenden, müssen Sie den url-Wert der Datenaktion der URL-Zulassungsliste für Datenaktionen hinzufügen.

Ä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 auf dieser Seite im Abschnitt Looker Action Hub verwenden.

Nutzerattribute mit user_attribute_param an den empfangenden Server übergeben

Mit dem Parameter user_attribute_param 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 er 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

Geben Sie keine vertraulichen Daten oder privaten Informationen wie Nutzeranmeldedaten im Parameter param an. Konfigurieren Sie stattdessen Nutzeranmeldedaten als Nutzerattribut in den Admin-Einstellungen 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 können, und dann ihre Formulareingabe in Ihrer JSON-Nutzlast senden. Wenn Sie ein Formular anzeigen, wird es als Overlay auf der Seite (Explore, Look oder Dashboard) eingeblendet, auf der die Aktion ausgelöst wurde. Dazu können Sie entweder den Parameter form_url oder form_param verwenden.

Wenn Ihr Action Hub-Server das Formularlayout definieren soll, verwenden Sie den Parameter form_url. Der form_url sollte eine URL enthalten, die eine JSON-Darstellung des Formulars zurückgibt, wie später 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, um das Formular zu definieren:

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 type von select auswählen, definieren Sie hier die Auswahloptionen.

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

Option Typ Beschreibung
name String Name des Formularwerts, wie er in der 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 der action-Definition keinen form_url- oder form_param-Parameter angeben, enthält die Datenaktion kein Formular. In diesem Fall wird eine Anfrage gesendet, wenn ein Nutzer diese Aktion im Menü Aktionen auswählt.

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

  • Ein Ladesymbol wird angezeigt, das darauf hinweist, dass die Aktion ausgeführt wird.

  • Ein Häkchen wird angezeigt, das darauf hinweist, dass die Aktion ausgeführt wurde.

  • Ein eingekreistes i wird angezeigt, was darauf hinweist, 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 gilt als erfolgreiche Aktion.

Der Server kann auch einige Optionen bezüglich des Erfolgs 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 wird success standardmäßig auf true gesetzt. Wenn Sie success auf false setzen, wird in Looker angegeben, dass die Anfrage fehlgeschlagen ist. Außerdem wird refresh_query standardmäßig auf false festgelegt. Wenn Sie es auf true festlegen, wird die aktuelle Looker-Abfrage ohne Verwendung des Cache noch einmal ausgeführt.

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

Der Standardwert für validation_errors ist {}. 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 Parameter form_url verwenden (in diesem Beispiel mit Liquid-Syntax), 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 dem LookML entspricht:

[
  {
    "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 die Aktionen auf Feldebene verwenden, die im Looker Action Hub verfügbar sind. Ihre Instanz muss die Anforderungen für den Looker Action Hub erfüllen.

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