Aktion

Nutzung

Das Feld
Hierarchie
action
Mögliche Feldtypen
Dimension, messen

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 Nutzer Aufgaben auf Feldebene direkt in Looker in anderen Tools ausführen können. Die Aktion kann beispielsweise das Senden einer E-Mail, das Festlegen von Werten in anderen Anwendungen oder das Ausführen anderer Aktionen für einen Empfängerserver ermöglichen. Der Empfängerserver muss in der Lage sein, einen JSON-POST zu akzeptieren.

Sie können eine action für eine Dimension oder einen Messwert definieren. Sie können die Aktion dann aufrufen, indem Sie auf der Seite „Erkunden“, in einem Look oder auf einem Dashboard auf das entsprechende Feld klicken:

Beim Definieren eines action geben Sie das gewünschte Verhalten mit den folgenden Parametern an:

Parameter Beschreibung
label Ein String, der den Namen der Aktion angibt, der Nutzern im Menü „Aktion“ angezeigt wird.
url Ein String, der die URL zur Verarbeitung der Aktion angibt. Wenn eine [URL-Zulassungsliste für Datenaktionen](/admin-options/settings/general#url_allowlist_for_data_actions) angegeben ist, müssen Sie den Wert url der Zulassungsliste hinzufügen. Für jede Datenaktion sind nur URLs zulässig, die mit dem Muster auf der Zulassungsliste übereinstimmen. Wenn keine Einträge vorhanden sind, sind alle URLs für Datenaktionen zulässig.
icon_url Ein String, der eine URL mit einer Bilddatei angibt. So können Nutzer auf einen Blick sehen, wohin der Link führt. Der Wert icon_url muss für den Browser des Nutzers zugänglich sein.
form_url Ein String, der eine URL zur Ausgabe eines Formulars für Nutzer angibt. Das Formular muss im JSON-Format dargestellt werden, wie auf dieser Seite im Abschnitt Formularverhalten mit form_url oder form_param angeben beschrieben. Der 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 Empfängerserver. Du musst den Wert url der Datenaktion zur URL-Zulassungsliste für Datenaktionen hinzufügen, wenn du user_attribute_param für deine Datenaktion verwendest.

Ähnlich wie bei einer Datenaktion können Sie auch eine Aktion auf Feldebene aus dem Looker Action Hub verwenden, 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 Empfängerserver übergeben

Mit dem Parameter user_attribute_param können Sie Nutzerattribute an den Empfängerserver senden. Innerhalb jedes 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 Empfängerserver übergeben

Mit dem Parameter param können Sie beliebige Daten in Ihrer JSON-Nutzlast senden. Innerhalb jedes 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 wird

Übergeben Sie im Parameter param keine vertraulichen Daten oder privaten Informationen wie Nutzeranmeldedaten. Konfigurieren Sie stattdessen die 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 können, und dann die Formulareingabe in Ihrer JSON-Nutzlast einreichen. Wenn Sie ein Formular öffnen, wird es als Overlay auf der Seite (Erkunden, Design, Dashboard oder altes Dashboard) angezeigt, auf der die Aktion ausgelöst wurde. Das ist entweder mit dem Parameter form_url oder form_param möglich.

Wenn Sie möchten, dass Ihr Aktions-Hub-Server das Formularlayout definiert, verwenden Sie den Parameter form_url. 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 haben Sie folgende Möglichkeiten:

Wahltaste Typ Beschreibung
name String Der Name des Werts, wie er in der JSON-Nutzlast angezeigt wird
type Eingabetyp Der Formulartyp, der dem Nutzer angezeigt wird:
select – enthält eine Drop-down-Liste
string – ein einzeiliges Eingabefeld
textarea – ein mehrzeiliges Texteingabefeld
label String Das Label für die Eingabe, wie es den Nutzern angezeigt wird
description String Eine Beschreibung für das Feld, das Nutzern angezeigt wird, falls gewünscht
required Boolesch Gibt an, ob die Formularoption vom Nutzer angegeben werden muss, bevor das Formular gesendet wird
default String Der Ausgangswert des Formularfelds, falls vorhanden
option String Wenn Sie type von select auswählen, legen Sie die Auswahloptionen hier fest

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

Wahltaste 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 den Parameter form_url oder form_param nicht in die action-Definition aufnehmen, enthält die Datenaktion kein Formular. In diesem Fall wird eine Anfrage gesendet, wenn ein Nutzer im Menü Aktionen auf diese Aktion klickt.

Nachdem eine Aktion ohne Formular angeklickt wurde, zeigt das Menü Aktionen links neben der Aktion Symbole an, um ihren Status anzugeben:

  • Ein Ladesymbol wird eingeblendet, das zeigt, dass die Aktion ausgeführt wird.
  • Ein Häkchen zeigt an, dass die Aktion ausgeführt wurde.
  • Ein eingekreistes i zeigt an, dass die Aktion fehlgeschlagen ist.

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

Serverantworten

Eine erfolgreiche HTTP-Antwort gilt als erfolgreiche Aktion.

Der Server kann für den Erfolg der Aktion auch einige Optionen 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
  }
}

In diesem Fall ist success standardmäßig true. Wenn Sie success auf false festlegen, wird in Looker angezeigt, dass die Anfrage fehlgeschlagen ist. Außerdem lautet refresh_query standardmäßig false. Wenn Sie ihn auf true festlegen, wird die aktuelle Looker-Abfrage noch einmal ausgeführt und der Cache wird übersprungen.

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 {}. Dies sollte ein JSON-Objekt sein, bei dem die Schlüssel die Namen der Formularparameter und der Wert ein String ist, der eine Fehlermeldung für diesen Parameter darstellt.

Beispiele

Wenn Sie den Parameter form_url (in diesem Beispiel mit Liquid-Syntax) verwenden, 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 der 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 zum Empfangen Ihrer Aktionsanfragen eingerichtet haben oder wenn Sie einen Anwendungsfall mit begrenzter Wiederverwendbarkeit implementieren möchten. Sie können stattdessen auch die Aktionen auf Feldebene verwenden, die über den Looker Action Hub verfügbar sind. Ihre Instanz muss diese Anforderungen erfüllen.

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