Demo de SDK de incrustación

El repositorio del SDK de Looker Embed incluye código de ejemplo y una demostración del SDK Embed. Debido a los requisitos de seguridad de Looker, la demo requiere un poco de configuración. La demo también requiere tu secreto de inserción de Looker. El secreto de inserción concede acceso a todos tus datos, así que ten en cuenta lo siguiente:

  • No compartas tu secreto con nadie a quien no quieras dar acceso completo a tu instancia.
  • No restablezcas tu secreto si ya lo estás usando en otro contexto.
  • No configure el código para almacenar el secreto en el navegador web.

Paso 1: Habilita la inserción en tu instancia de Looker

Se explica con más detalle en la página de documentación sobre la inserción firmada.

  1. En tu instancia de Looker, ve a Administrar > Insertar plataforma. Para ello, se necesitan privilegios de administrador.
  2. El servidor de demostración se ejecuta de forma predeterminada en http://localhost:8080. Si añades esa dirección a la lista de permitidos de dominios insertados, podrás habilitar la demo para que reciba mensajes de Looker.
  3. Activa Embed Authentication (Autenticación insertada).
  4. Para ver tu secreto de inserción, debes restablecerlo. Copia el secreto en un lugar seguro.

Paso 2: Personaliza la configuración de la demo de tu instancia de Looker

Proporciona tu secreto de inserción al servidor. Puedes hacerlo de las siguientes maneras:

  • Defínelo como LOOKER_EMBED_SECRET en tu entorno de shell.
  • Crea un archivo llamado .env en la raíz del directorio del SDK. Añade una línea a ese archivo: LOOKER_EMBED_SECRET="YourLookerSecret"

Proporciona la dirección del host de tu instancia de Looker al servidor mediante uno de los siguientes métodos:

  • Defínelo como LOOKER_WEB_URL en tu entorno de shell.
  • Añade LOOKER_WEB_URL="yourinstance.looker.com:yourport" al archivo .env.

Edita el archivo ENV para especificar los IDs del contenido que quieras insertar.

# 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

Edita el archivo demo/demo_user.json para que se ajuste al tipo de usuario que quieras insertar.

{
  // 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" },
}

Paso 3: Compila y ejecuta la demo

Para compilar y ejecutar la demo, sigue los pasos correspondientes al servidor que utilices.

Servidor de nodo

  1. Ejecutar npm install
  2. Ejecutar npm start

El servidor imprimirá el host y el puerto en los que se está ejecutando. Si es diferente de http://localhost:8080, tendrás que añadirlo a tu lista de permitidos de dominios insertados.

Servidor Python

  1. Ejecutar npm install
  2. Ejecutar npm run python

El servidor imprimirá el host y el puerto en los que se está ejecutando.

Es posible que tengas que pip install six para instalar la capa de compatibilidad de Python 2/3.