SDK-Demo einbetten

Das Embed SDK-Repository von Looker 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 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 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 finden Sie auf der Dokumentationsseite 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. Aktivieren Sie Embed Authentication (Authentifizierung einbetten).
  4. Damit Sie das Einbettungs-Secret sehen können, müssen Sie es zurücksetzen. Kopieren Sie das Secret an einen sicheren Ort.

Schritt 2: Demo-Einstellungen für die Looker-Instanz anpassen

Gib das Secret für die Einbettung auf dem Server an. Dafür gibt es mehrere Möglichkeiten:

  • Legen Sie sie 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 an den Server an. Dazu haben Sie zwei Möglichkeiten:

  • Sie können es in Ihrer Shell-Umgebung als LOOKER_EMBED_HOST festlegen.
  • 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 entsprechend dem Typ von Nutzer, 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

  1. Führen Sie npm install aus
  2. Führen Sie npm start aus

Der Server gibt aus, auf welchem Host und über welchen Port er ausgeführt wird. Wenn es sich von http://localhost:8080 unterscheidet, musst du die Domain deiner 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, 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.