Embed SDK im Vergleich zum Endpunkt „Create Signed Embed Url“

Mit Looker können Sie Daten für alle Ihre Nutzer oder Kunden zugänglich machen. Mit Looker können wir Daten demokratisieren. Ihre Nutzer können Abfrageergebnisse selbst ansehen, ohne dass ein Analyst manuell ein Dashboard erstellen muss. Mit Looker können Ihre Nutzer sogar eigene Analysen durchführen. Eine Möglichkeit hierfür ist die Verwendung der Looker-Funktion Signierte Einbettung. Auf dieser Seite werden zwei verschiedene Methoden zum Implementieren von signierten Einbettungen beschrieben: die Looker API und das Embed SDK von Looker.

Angenommen, Sie möchten Abfrageergebnisse in die eigene Anwendung oder die internen Systeme Ihres Unternehmens einbinden und nicht allen Nutzern Looker-Anmeldedaten zur Verfügung stellen. Dies kann mit der Funktion für signierte Einbettungen von Looker erreicht werden. Dies unterscheidet sich von dem allgemeinen Verweis auf SSO-Workflows wie LDAP oder SAML, die auch in Ihre Looker-Instanz eingebunden werden können.

Das signierte signierte Einbettung bedeutet, dass die Looker-Sitzung des Nutzers gestartet und er angemeldet ist, sobald die Einbettungs-URL erstellt und die Anfrage vom Browser gesendet wurde. Diese URLs sind signiert und können nur einmal verwendet werden. Mit diesen URLs werden iFrames erstellt, mit denen Entwickler Inhalte wie Explores, Looks und Dashboards in die Website oder Anwendung Ihres Unternehmens einbetten können. Wenn die URL verwendet wird und der Nutzer kein Konto hat, wird eines für ihn auf Grundlage der Parameter erstellt, die in der URL übergeben werden.

Entwickler können die Looker API oder Looker API SDKs verwenden, um diese iFrames dynamisch zu erstellen. Sie können Designs anwenden und die Inhalte an die Anforderungen Ihres Unternehmens oder einer bestimmten Nutzergruppe anpassen. Hier finden Sie eine vollständige Demo mit einer Erklärung dazu, wie diese Konzepte angewendet werden können.

Wie fange ich also an?

Angenommen, Sie haben sich das Demovideo angesehen und möchten diese iFrames in Ihre Anwendung einfügen. Wo sollten Sie beginnen und welche Methode ist für Ihren Anwendungsfall geeignet?

Looker bietet mehrere Hauptoptionen zum Generieren dieser Inhalte, die in Ihre Anwendung oder Website eingebunden werden können:

Wir empfehlen Kunden in der Regel das Embed SDK und den REST API-Endpunkt anstelle von Beispielscripts, da sowohl das SDK als auch die REST API häufig von unseren Entwicklern aktualisiert werden und in der Regel kürzere URLs als die Scripts erzeugen. (Die kürzeren URLs sind etwas einfacher zu verwalten.) Das Embed SDK und der REST API-Endpunkt bieten auch einige nützliche Sicherheitsfunktionen, die später auf dieser Seite beschrieben werden.

Angenommen, wir möchten, dass der Nutzer unserer App ein Looker-Dashboard auf einer Datenseite in einer Kundenanwendung aufrufen kann. Ein typischer Einbettungsworkflow könnte so aussehen:

  1. Der Nutzer meldet sich in einer Anwendung an. Sie können sich mit einem SAML-Dienst oder einfach mit einer E‑Mail-Adresse und einem Passwort in der App anmelden.
  2. Die Anwendung bestätigt, dass die Anmeldedaten korrekt sind, und der Nutzer kann erfolgreich auf die Inhalte zugreifen.
  3. Basierend auf der Antwort aus dem Anmeldevorgang werden die Informationen des Nutzers an eine Funktion übergeben, die möglicherweise eines unserer Beispielskripts verwendet, um die signierte Einbettungs-URL zu erstellen. Für diese Skripts sind die Berechtigungen des Nutzers, Gruppen-IDs, das Einbettungs-Secret, die Host-URL, Nutzerattribute wie Vor- und Nachname, Zugriffsfilter, die Sitzungslänge und die URL erforderlich, auf die der Nutzer zugreifen können soll. Alle diese Informationen werden an Looker gesendet und eine signierte URL wird erstellt.
  4. Der Nutzer ruft die Datenseite in der Anwendung auf, auf der diese signierte URL in einem iFrame platziert ist. Der Browser sendet dann eine Anfrage an die iFrame-URL. Das Dashboard wird mit einer personalisierten Oberfläche bereitgestellt und der Nutzer kann innerhalb der Anwendung auf Daten aus Looker zugreifen.

Den Create Signed Embed Url-Endpunkt

Mit der REST API von Looker oder einem der SDKs kann ein Entwickler eine codierte, signierte URL basierend auf einer Reihe von Parametern generieren. Dies ist eine POST-Anfrage. Der Server, von dem die API-Anfrage stammt, muss sich mit Administratorberechtigungen bei Looker authentifizieren können. Einer der Hauptvorteile der Verwendung dieses Endpunkts ist, dass kein Einbettungs-Secret erforderlich ist. Der Endpunkt ist bereits so konfiguriert, dass das aktuelle Einbettungs-Secret abgerufen wird. Aufrufe dieses Endpunkts werden auch nicht auf API-Ratenbegrenzungen angerechnet. Im Allgemeinen lassen sich API-Anmeldedaten einfacher rotieren als ein Einbettungsgeheimnis. Es können mehrere API 3-Anmeldedaten gleichzeitig aktiv sein, aber es kann jeweils nur ein Einbettungs-Secret für eine Instanz verwendet werden. So lassen sich die Anmeldedaten einfacher austauschen, ohne dass es zu Dienstunterbrechungen kommt. Über den Create Signed Embed Url-Endpunkt wird auch eine kürzere, prägnantere URL erstellt als in den Beispielskripts in unserem Beispiel-Repository für signierte Einbettungs-URLs.

Hier ist ein Beispielworkflow, in dem der Endpunkt Create Signed Embed Url verwendet wird:

  1. Der Nutzer versucht, sich in Ihrer Anwendung anzumelden, in den meisten Fällen mit einer Kombination aus Nutzername und Passwort oder möglicherweise über einen Identitätsanbieter (IdP).
  2. Wenn sich der Nutzer erfolgreich in der Anwendung anmeldet, wird der Create Signed Embed Url-Endpunkt ausgeführt. Eine von Ihrem Entwicklerteam erstellte Funktion übergibt die spezifischen Anmeldedaten dieses Nutzers an diesen Endpunkt und eine signierte URL wird von Looker an Ihren Server zurückgegeben.
  3. Der Nutzer hat möglicherweise die Möglichkeit, in der Anwendung auf einen Daten-Tab zu klicken. Wenn sie zum Tab „Daten“ wechseln, wird auf dieser Seite die signierte URL von Ihrem Server angefordert und in den iFrame auf der Seite eingefügt.
  4. Der Nutzer sieht ein Dashboard von Looker, das nahtlos mit Live-Daten in Ihre Anwendung eingebettet ist.

Embed SDK

Das Embed SDK von Looker ist eine Sammlung von JavaScript-Funktionen, die in Paketen enthalten sind, um Entwicklern das Einbetten von Looker-Inhalten zu erleichtern. Mit dem Embed SDK können Sie Looker-Inhalte in eine Seite in Ihrer Anwendung oder auf Ihrer Website einfügen, ohne bestimmte HTML-Elemente erstellen zu müssen. Mit dem SDK können Entwickler eine sichere Point-to-Point-Kommunikation zwischen der HTML-Seite und Ihren Looker-Inhalten erstellen. Das Embed SDK kapselt jetzt das iFrame. Kunden müssen es also nicht mehr erstellen oder verwalten. Das Embed SDK ist nur für Browser-Apps vorgesehen, enthält aber eine Hilfsfunktion zum Generieren der signierten URL. Beide sind in TypeScript und Python verfügbar. Obwohl das Embed SDK in der nmpjs-Registrierung aufgeführt ist, müssen Sie keinen Node.js-Webserver verwenden.

Eine einzigartige Funktion des Embed SDK ist, dass Sie damit auch Looker-Komponenten nutzen können. Das ist eine Sammlung wiederverwendbarer Codeblöcke, die zur Implementierung des Looker-Designsystems erstellt wurden.

Ein weiterer Vorteil des Embed SDK ist die Anzahl der vorgefertigten Funktionen, die Ihrem Entwicklungsteam viel Arbeit abnehmen. Ein wichtiges Beispiel ist das Abbrechen von Klicks. Das Embed SDK verwendet die MessageChannel API anstelle von postMessage. Das bedeutet, dass zwei Skripts, die auf derselben Seite ausgeführt werden, über die postMessage API miteinander kommunizieren können. So können andere Funktionen mit dem iFrame kommunizieren oder andere Funktionen mit dem iFrame kommunizieren lassen.

Ein Beispiel für einen Workflow für das Embed SDK könnte so aussehen:

  1. Der Nutzer versucht, sich in Ihrer Anwendung anzumelden.
  2. Wenn die Anmeldung erfolgreich ist, werden die Informationen an das Node.js-Hilfsprogramm auf dem Server gesendet, auf dem die Anwendung ausgeführt wird. Dadurch werden die erforderlichen Informationen an die Looker-Instanz übergeben und eine signierte URL wird zurückgegeben.
  3. Der Nutzer ruft die Datenseite in der Anwendung auf, auf der das Embed SDK zum Platzieren des iFrames verwendet wird. Da das Embed SDK in JavaScript geschrieben ist, können wir LookerEmbedSDK.createDashboardWithId verwenden und ein bestimmtes DOM-Element (in der Regel ein „span“- oder „div“-Element) auf der Seite als Ziel für das Anhängen des iFrames (signierte URL) festlegen.
  4. Die Seite wird geladen und über die signierte URL wird das Dashboard aus der Looker-Instanz geladen.

Welche Methode ist also die beste?

Welche dieser Methoden Ihr Entwicklungsteam verwendet, hängt von Ihrem konkreten Anwendungsfall ab:

Venn-Diagramm mit den Gemeinsamkeiten und Unterschieden zwischen den Methoden „Signierte Einbettungs-URL erstellen“ und „Embed SDK“.

Wie im vorherigen Diagramm dargestellt, können sich Ihre Entwicklerteams sowohl bei der Create Signed Embed Url-Endpunktmethode als auch bei der zuvor beschriebenen Embed SDK-Methode auf das Produkt konzentrieren, anstatt sich damit zu beschäftigen, wie Looker in die App eingebunden wird. Beide Methoden ermöglichen außerdem umfangreiche Datenfunktionen in Ihrer nativen Anwendung.

Die Create Signed Embed Url-Endpunktmethode unterscheidet sich in folgenden Punkten von der Embed SDK-Methode:

  • Es ist kein Einbettungs-Secret erforderlich.
  • Der Vorgang ähnelt der Verwendung anderer REST APIs.
  • Der Endpunkt muss serverseitig aufgerufen werden.

Die Embed SDK-Methode hat die folgenden Funktionen:

  • Es basiert auf JavaScript und kann auf bestimmte DOM-Elemente ausgerichtet werden.
  • Es interagiert mit Looker-Komponenten, um die Benutzeroberfläche zu gestalten.
  • Sie lässt sich in Hilfsfunktionen einbinden und die Entwicklung kann clientseitig erfolgen.

Wenn Sie spezifische Fragen zu den Entwicklungs- oder Architekturvoraussetzungen haben, können Sie sich an das Professional Services-Team von Looker oder an einen unserer Entwicklungspartner wenden.

Außerdem kann unser Supportteam Ihnen bei allgemeinen Problemen oder unerwartetem Verhalten helfen. Sie können eine Supportanfrage in der Looker-Hilfe stellen, indem Sie auf Kontakt klicken.

Weitere Informationen finden Sie im Community-Beitrag Tools für signierte Einbettungen und Ressourcen zur Fehlerbehebung.