Looker ist großartig darin, Daten für alle Ihre Benutzer oder Kunden zugänglich zu machen. Wie wir gerne sagen, trägt Looker dazu bei, Daten für alle zugänglich zu machen. Sie können Ihren Nutzern die Möglichkeit geben, Abfrageergebnisse selbst anzusehen, ohne dass ein Analyst manuell ein Dashboard erstellen muss. Mit Looker können Ihre Nutzer sogar eigene Analysen durchführen. Eine Möglichkeit dazu bietet die Looker-Funktion signierte Einbettung. Auf dieser Seite werden zwei verschiedene Methoden zur Implementierung signierter Einbettungen erläutert: die Looker-API und das Embed Software Development Kit (SDK).
Angenommen, Sie möchten Abfrageergebnisse in die eigene Anwendung oder interne Systeme Ihres Unternehmens integrieren und nicht allen Ihren Nutzern Looker-Anmeldedaten zur Verfügung stellen müssen. Dies ist mit der Funktion für signierte Embeds in Looker möglich. Dies unterscheidet sich von der allgemeinen Referenz zu SSO-Workflows wie LDAP oder SAML, die auch in Ihre Looker-Instanz integriert werden können.
Das signierte in signiertes Einbetten 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 explorative Datenanalysen, Looks und Dashboards in die Website oder Anwendung Ihres Unternehmens einbetten können. Wenn die URL verwendet wird und der Nutzer noch kein Konto hat, wird anhand der an die URL übergebenen Parameter eines erstellt.
Entwickler können die Looker API oder die 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 Gruppe von Nutzern anpassen. Weitere Informationen zu den Möglichkeiten, Looker in Ihre Inhalte einzubetten, finden Sie in dieser vollständigen Demo mit einer Erklärung, wie diese Konzepte angewendet werden können.
Wie fange ich am besten an?
Angenommen, Sie haben sich die Demo angesehen und möchten diese Iframes Ihrer Anwendung hinzufügen. Wo sollten Sie anfangen und welche Methode ist für Ihren Anwendungsfall geeignet?
Looker bietet mehrere Hauptoptionen zum Generieren dieser Inhalte, die in Ihrer Anwendung oder auf Ihrer Website platziert werden können:
- Beispiel-Repositories von Looker mit Scripts in verschiedenen Programmiersprachen (C#, Python, Node.js, Python, Ruby, PHP)
- Der in unserer REST API enthaltene Endpunkt
Create Signed Embed Url
, auf den über HTTP-Anfragen oder eines unserer SDKs zugegriffen werden kann - Looker Embed SDK
Wir empfehlen Kunden im Allgemeinen das Embed SDK und den REST API-Endpunkt und nicht Beispielskripts, da sowohl das SDK als auch die REST API von unseren Entwicklern häufig aktualisiert werden und diese im Vergleich zu den Skripts kürzere URLs erstellen. Die kürzeren URLs sind etwas einfacher zu verwalten. Das Embed SDK und der REST API-Endpunkt bieten außerdem einige nützliche Sicherheitsfunktionen, die weiter unten auf dieser Seite erläutert werden.
Angenommen, wir möchten, dass unser App-Benutzer ein Dashboard von Looker auf einer Datenseite in einer Kundenanwendung anzeigen kann. Ein typischer Einbettungsworkflow könnte so aussehen:
- 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.
- Die Anwendung bestätigt, dass die Anmeldedaten korrekt sind, und der Nutzer kann auf die Inhalte zugreifen.
- Basierend auf der Antwort des Anmeldeworkflows werden die Informationen des Nutzers an eine Funktion übergeben, die möglicherweise eines unserer Beispielscripts verwendet, um die signierte Embed-URL zu erstellen. Für diese Scripts sind die Berechtigungen des Nutzers, Gruppen-IDs, das Geheime-Embedding-Attribut, die Host-URL, Nutzerattribute wie Vorname und Nachname, Zugriffsfilter, Sitzungsdauer und die URL erforderlich, auf die der Nutzer zugreifen soll. Alle diese Informationen werden an Looker gesendet und es wird eine signierte URL erstellt.
- Der Nutzer ruft die Datenseite in der Anwendung auf, wo sich die signierte URL in einem iFrame befindet. sendet der Browser eine Anfrage an die iFrame-URL. Das Dashboard wird mit einer personalisierten Oberfläche übertragen 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 können Entwickler eine codierte, signierte URL generieren, die auf einer Reihe von Parametern basiert. 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 dieses Endpunkts ist, dass kein Embed-Secret erforderlich ist. Der Endpunkt ist bereits so konfiguriert, dass das aktuelle Embed-Secret abgerufen wird. Aufrufe dieses Endpunkts werden außerdem nicht auf die API-Ratenbeschränkungen angerechnet. Im Allgemeinen lassen sich API-Anmeldedaten im Vergleich zu einem eingebetteten Geheimnis leichter wechseln. Es können mehrere API 3-Anmeldedaten gleichzeitig aktiv sein, aber für eine Instanz kann jeweils nur ein einziges Einbettungs-Secret verwendet werden. Dies vereinfacht den Austausch der Anmeldedaten ohne Dienstunterbrechung. Der Create Signed Embed Url
-Endpunkt erstellt außerdem eine kürzere, prägnantere URL als die Beispielscripts in unserem Repository für signierte Embed-URL-Scripts.
Hier ein Beispiel für einen Workflow, der den Endpunkt Create Signed Embed Url
verwendet:
- Der Nutzer versucht, sich in Ihrer Anwendung anzumelden, meistens mit einer Kombination aus Nutzername und Passwort oder möglicherweise über einen Identitätsanbieter (Identity Provider, IdP).
- Wenn sich der Nutzer in der Anwendung anmeldet, wird der
Create Signed Embed Url
-Endpunkt ausgeführt. Eine von Ihrem Entwicklungsteam erstellte Funktion übergibt die spezifischen Anmeldedaten dieses Benutzers an diesen Endpunkt. Eine signierte URL wird von Looker an Ihren Server zurückgegeben. - Der Nutzer hat möglicherweise die Möglichkeit, in der Anwendung auf einen Daten-Tab zu klicken. Wenn der Nutzer den Tab „Daten“ aufruft, wird auf dieser Seite die signierte URL von deinem Server angefordert und in den iFrame auf der Seite eingefügt.
- Der Nutzer sieht ein Dashboard von Looker, das nahtlos in Ihre Anwendung eingebettet ist und Live-Daten enthält.
SDK einbetten
Lookers Embed SDK ist eine Sammlung von JavaScript-Funktionen, die gepackt wurden, um Entwicklern das Einbetten von Looker-Inhalten zu erleichtern. Mit dem Embed SDK können Sie einer Seite in Ihrer Anwendung oder auf Ihrer Website Looker-Inhalte hinzufügen, ohne bestimmte HTML-Elemente erstellen zu müssen. Mit dem SDK können Entwickler eine sichere Punkt-zu-Punkt-Kommunikation zwischen der HTML-Seite und Ihren Looker-Inhalten herstellen. Das Embed SDK kapselt den Iframe jetzt ein, sodass Kunden ihn nicht mehr erstellen oder verwalten müssen. Das Embed SDK ist nur für Browser-Apps gedacht, enthält aber eine Hilfsfunktion zum Generieren der signierten URL. Beide sind in TypeScript und Python verfügbar. Auch wenn das Embed SDK in der nmpjs-Registrierung aufgeführt ist, musst du keinen Node.js-Webserver verwenden.
Eine einzigartige Funktion des Embed SDK ist, dass Sie damit auch Looker-Komponenten nutzen können. Dies sind eine Sammlung wiederverwendbarer Codeblöcke, die erstellt wurden, um das Designsystem von Looker zu implementieren.
Ein weiterer Vorteil des Embed SDK sind die zahlreichen vordefinierten Funktionen, durch die Ihr Entwicklungsteam viel Arbeit entlastet. Eines der wichtigsten Beispiele ist das Stornieren von Klicks. Das Embed SDK verwendet die MessageChannel
API anstelle von postMessage
. Das bedeutet, dass zwei auf derselben Seite ausgeführte Skripts über die postMessage
API miteinander kommunizieren können. So können andere Funktionen mit dem iFrame oder mit dem iFrame kommunizieren.
Hier ein Beispiel für einen Workflow für das Embed SDK:
- Der Nutzer versucht, sich in Ihrer Anwendung anzumelden.
- 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 zurückgegeben. - Der Nutzer ruft die Datenseite in der Anwendung auf, auf der der iFrame mit dem Embed SDK platziert 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 auswählen, an das der Iframe (signierte URL) angehängt werden soll. - Die Seite wird geladen und über die signierte URL wird das Dashboard aus der Looker-Instanz geladen.
Welche Methode ist also die beste?
Welche der folgenden Methoden Ihr Entwicklungsteam verwendet, hängt vom spezifischen Anwendungsfall ab:
Wie im vorherigen Diagramm dargestellt, kann sich Ihr Entwicklerteam sowohl mit der Create Signed Embed Url
-Endpunktmethode als auch mit der zuvor beschriebenen Methode zum Einbetten des SDKs auf das Produkt konzentrieren, anstatt sich darum zu kümmern, wie Looker in die App eingebunden wird. Beide Methoden ermöglichen auch eine umfassende Datennutzung in Ihrer nativen Anwendung.
Die Endpunktmethode Create Signed Embed Url
unterscheidet sich in folgenden Punkten von der Embed SDK-Methode:
- Es ist kein Einbettungs-Secret erforderlich.
- Die Vorgehensweise ähnelt der Verwendung anderer REST APIs.
- Der Endpunkt muss serverseitig aufgerufen werden.
Die Embed SDK-Methode bietet folgende Funktionen:
- Es basiert auf JavaScript und kann auf bestimmte DOM-Elemente ausgerichtet werden.
- Es interagiert mit Looker-Komponenten, um die Benutzeroberfläche zu gestalten.
- Es lässt sich in Dienstprogrammfunktionen einbinden und die Entwicklung kann clientseitig erfolgen.
Wenn Sie spezielle Fragen zu den Entwicklungs- oder Architekturanforderungen haben, können Sie sich an das Looker-Team für professionelle Dienstleistungen oder an einen unserer Entwicklungspartner wenden.
Außerdem kann unser Supportteam Ihnen bei allgemeinen Problemen oder unerwartetem Verhalten helfen. Sie können in der Looker-Hilfe eine Supportanfrage stellen, indem Sie auf Kontakt klicken.
Weitere Informationen findest du im Communitybeitrag Tools für signierte Embeds und Ressourcen zur Fehlerbehebung.