Das Looker Embed SDK-Repository enthält Beispielcode und eine einfache Demo des Embed SDK. Aufgrund der Sicherheitsanforderungen von Looker ist für die Demo ein wenig Einrichtung erforderlich. Für die Demo ist außerdem Ihr Looker-Embed-Secret erforderlich. Das eingebettete 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 Geheimnis 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 Ihrer Looker-Instanz aktivieren
Weitere Informationen dazu findest du auf der Seite Signierte Einbettung.
- Rufen Sie in Ihrer Looker-Instanz Verwaltung > Plattform-Embedding auf. Dazu sind Administratorberechtigungen erforderlich.
- Der Demoserver wird standardmäßig unter
http://localhost:8080
ausgeführt. Wenn Sie diese Adresse der Zulassungsliste für eingebettete Domains hinzufügen, kann die Demo Nachrichten von Looker empfangen. - Aktiviere Authentifizierung einbetten.
- Wenn du dein Geheimcode für das Einbetten sehen möchtest, musst du es zurücksetzen. Kopieren Sie das Secret an einen sicheren Ort.
Schritt 2: Demoeinstellungen für Ihre Looker-Instanz anpassen
Gib das Secret für die Einbettung auf dem Server an. Dazu haben Sie mehrere Möglichkeiten:
- Legen Sie es 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 dieser Datei eine Zeile hinzu:LOOKER_EMBED_SECRET="YourLookerSecret"
Geben Sie die Hostadresse Ihrer Looker-Instanz auf folgende Weise an:
- Legen Sie es in Ihrer Shell-Umgebung als
LOOKER_EMBED_HOST
fest. LOOKER_EMBED_HOST="yourinstance.looker.com:yourport"
in die Datei.env
einfügen
Bearbeiten Sie die demo/demo_config.ts
-Datei 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 für den Typ des Nutzers geeignet ist, 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, unter dem er ausgeführt wird. Wenn sie sich von http://localhost:8080
unterscheidet, müssen Sie 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, unter dem er ausgeführt wird.
Möglicherweise müssen Sie pip install six
ausführen, um die Python 2/3-Kompatibilitätsebene zu installieren.