Embed SDK – Demo

Das Looker Embed SDK-Repository enthält Beispielcode und eine 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 geheimes Schlüsselelement 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.

  1. Rufen Sie in Ihrer Looker-Instanz Verwaltung > Plattform-Embedding auf. Dazu sind Administratorberechtigungen erforderlich.
  2. 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.
  3. Aktiviere Authentifizierung einbetten.
  4. 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. Dies können Sie folgendermaßen tun:

  • 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 mit einer der folgenden Methoden an den Server weiter:

  • Legen Sie es in Ihrer Shell-Umgebung als LOOKER_WEB_URL fest.
  • Fügen Sie LOOKER_WEB_URL="yourinstance.looker.com:yourport" zur Datei .env hinzu.

Bearbeiten Sie die ENV-Datei, um die IDs der Inhalte anzugeben, die Sie einbetten möchten.

# Looker Embed Data Configuration
# Set to - if demo needs to ignore it

# Dashboard IDs
LOOKER_DASHBOARD_ID=1
LOOKER_DASHBOARD_ID_2=2
# Look ID
LOOKER_LOOK_ID=1
# Explore ID
LOOKER_EXPLORE_ID=model::explore
# Extension ID
LOOKER_EXTENSION_ID=extension::my-great-extension
# Report ID
LOOKER_REPORT_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
# Query Visualization ID
LOOKER_QUERY_VISUALIZATION_ID=1234567890ABCDEF123456

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

Folgen Sie der Anleitung für den entsprechenden Server, um die Demo zu erstellen und auszuführen.

Knotenserver

  1. Führen Sie npm install aus
  2. 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, müssen Sie sie der Zulassungsliste für eingebettete Domains hinzufügen.

Python-Server

  1. Führen Sie npm install aus
  2. 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ätsebene zu installieren.