Das Embed SDK-Repository von Looker enthält Beispielcode und eine einfache Demo des Embed SDK. Da Looker auf Sicherheit legt, muss die Demo etwas eingerichtet werden. Für die Demo ist außerdem das Embed-Secret von Looker erforderlich. Das eingebettete Secret ermöglicht den Zugriff auf alle Ihre Daten. Beachten Sie daher Folgendes:
- Geben Sie Ihr Secret nicht an Personen weiter, die keinen vollständigen Zugriff auf die Instanz haben sollen.
- Setzen Sie das 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: Einbetten in der Looker-Instanz aktivieren
Weitere Informationen hierzu finden Sie auf der Dokumentationsseite Einmalanmeldung (SSO).
- Rufen Sie auf der Looker-Instanz Admin > Plattformeinbettung auf. Dafür sind Administratorberechtigungen erforderlich.
- Der Demoserver wird standardmäßig um
http://localhost:8080
ausgeführt. Wenn Sie die Adresse der Zulassungsliste der eingebetteten Domain hinzufügen, können Sie im Demomodus festlegen, dass Nachrichten von Looker empfangen werden sollen. - Aktivieren Sie Authentifizierung einbetten.
- Damit Sie das eingebettete Secret sehen können, müssen Sie es zurücksetzen. Kopieren Sie das Secret an einen sicheren Ort.
Schritt 2: Demoeinstellungen für die Looker-Instanz anpassen
Geben Sie das Einbettungs-Secret auf dem Server an. Dafür gibt es verschiedene Möglichkeiten:
- Legen Sie ihn in Ihrer Shell-Umgebung als
LOOKER_EMBED_SECRET
fest. - Erstellen Sie im Stammverzeichnis des SDK-Verzeichnisses eine Datei mit dem Namen
.env
. Fügen Sie der Datei eine Zeile hinzu:LOOKER_EMBED_SECRET="YourLookerSecret"
Geben Sie die Adresse des Hosts Ihrer Looker-Instanz an den Server an:
- Sie legen sie in Ihrer Shell-Umgebung als
LOOKER_EMBED_HOST
fest. 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
so, dass sie dem Typ des Nutzers entspricht, 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 druckt den Host und den Port aus, auf dem er ausgeführt wird. Wenn sie sich von http://localhost:8080
unterscheidet, müssen Sie sie der Liste der eingebetteten Domains hinzufügen.
Python-Server
- Führen Sie
npm install
aus - Führen Sie
npm run python
aus
Der Server druckt den Host und den Port aus, auf dem er ausgeführt wird.
Möglicherweise müssen Sie pip install six
installieren, um die Python 2/3-Kompatibilitätsebene zu installieren.