Das Embed SDK-Repository von Looker enthält Beispielcode und eine einfache Demo des Embed SDK. Da Looker auf Sicherheit fokussiert ist, ist für die Demo ein wenig Einrichtung erforderlich. Für die Demo ist außerdem Ihr Looker-Einbettungs-Secret erforderlich. Das Einbettungs-Secret gewährt Zugriff auf alle Ihre Daten. Beachten Sie daher Folgendes:
- Geben Sie Ihr Secret nicht an Personen weiter, die keinen vollständigen Zugriff auf Ihre Instanz haben sollen.
- Setzen Sie Ihr Secret nicht zurück, wenn Sie es bereits in einem anderen Kontext verwenden.
- Richten Sie Ihren Code nicht so ein, dass das Secret im Webbrowser gespeichert wird.
Schritt 1: Einbettung in der Looker-Instanz aktivieren
Weitere Informationen dazu finden Sie auf der Dokumentationsseite Signierte Einbettungen.
- Gehen Sie in Ihrer Looker-Instanz zu Admin > Platform Embed (Verwaltung > Plattformeinbettung). Dafür sind Administratorberechtigungen erforderlich.
- Der Demoserver wird standardmäßig mit
http://localhost:8080
ausgeführt. Wenn Sie diese Adresse der Zulassungsliste für eingebettete Domains hinzufügen, können in der Demo Nachrichten von Looker empfangen werden. - Aktivieren Sie Embed Authentication (Authentifizierung einbetten).
- Um dein Einbettungs-Secret anzuzeigen, musst du es zurücksetzen. Kopieren Sie das Secret an einen sicheren Ort.
Schritt 2: Demoeinstellungen für die Looker-Instanz anpassen
Stellen Sie dem Server Ihr Einbettungs-Secret bereit. Dafür gibt es mehrere Möglichkeiten:
- Legen Sie sie in Ihrer Shell-Umgebung als
LOOKER_EMBED_SECRET
fest. - Erstellen Sie eine Datei mit dem Namen
.env
im Stammverzeichnis des SDKs. Fügen Sie dieser Datei eine Zeile hinzu:LOOKER_EMBED_SECRET="YourLookerSecret"
Geben Sie die Hostadresse der Looker-Instanz für den Server mit einer der folgenden Methoden an:
- In Ihrer Shell-Umgebung als
LOOKER_EMBED_HOST
festlegen LOOKER_EMBED_HOST="yourinstance.looker.com:yourport"
wird zur Datei.env
hinzugefügt.
Bearbeiten Sie die Datei demo/demo_config.ts
so, dass sie für die Seiten geeignet ist, die Sie einbetten möchten.
// The address of your Looker instance. Required.
export const lookerHost = 'self-signed.looker.com:9999'
// A dashboard that the user can see. Set to 0 to disable dashboard.
export const dashboardId = 1
// A Look that the user can see. Set to 0 to disable look.
export const lookId = 1
Bearbeiten Sie die Datei demo/demo_user.json
entsprechend dem Nutzertyp, den Sie einbetten möchten.
{
// External embed user ID. IDs are not shared with regular users. Required
"external_user_id": "user1",
// First and last name. Optional
"first_name": "Pat",
"last_name": "Embed",
// Duration before session expires, in seconds. Required.
"session_length": 3600,
// Enforce logging in with these permissions. Recommended.
"force_logout_login": true,
// External embed group ID. Optional.
"external_group_id": "group1",
// Looker Group IDs. Optional
"group_ids": [],
// Permissions. See documentation for details. Required.
// Can any combination of:
// access_data
// see_looks
// see_user_dashboards
// see_lookml_dashboards
// explore
// create_table_calculations
// download_with_limit
// download_without_limit
// see_drill_overlay
// see_sql
// save_content
// embed_browse_spaces
// schedule_look_emails
// send_to_sftp
// send_to_s3
// send_outgoing_webhook
// schedule_external_look_emails
"permissions": [
"access_data",
"see_looks",
"see_user_dashboards",
"explore"
"save_content",
"embed_browse_spaces"
],
// Model access permissions. Required.
"models": ["powered_by", "thelook"],
// User attributes. Optional.
"user_attributes": { "locale": "en_US" },
}
Schritt 3: Demo erstellen und ausführen
Knotenserver
- Führen Sie
npm install
aus - Führen Sie
npm start
aus
Der Server gibt den Host und den Port aus, auf dem er ausgeführt wird. Wenn sie sich von http://localhost:8080
unterscheidet, musst du sie der Zulassungsliste für eingebettete Domains hinzufügen.
Python-Server
- Führen Sie
npm install
aus - Führen Sie
npm run python
aus
Der Server gibt den Host und den Port aus, auf dem er ausgeführt wird.
Möglicherweise müssen Sie pip install six
ausführen, um die Python 2/3-Kompatibilitätsschicht zu installieren.