Demostración de la incorporación del SDK

El repositorio del SDK de incorporación de Looker incluye código de muestra y una demostración del SDK de incorporación. Debido a los requisitos de seguridad de Looker, la demostración requiere un poco de configuración. La demostración también requiere tu secreto de incorporación de Looker. El secreto incorporado otorga acceso a todos tus datos, por lo que debes tener en cuenta lo siguiente:

  • No compartas el secreto con nadie que no quieras que tenga acceso completo a tu instancia.
  • No restablezcas el secreto si ya lo usas en otro contexto.
  • No configures el código para almacenar el secreto en el navegador web.

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

Esto se documenta con más detalle en la página de documentación Inserción firmada.

  1. Navega a Administrador > Incorporación de la plataforma en tu instancia de Looker. Para ello, se requieren privilegios de administrador.
  2. El servidor de demostración se ejecuta de forma predeterminada en http://localhost:8080. Si agregas esa dirección a la lista de entidades permitidas de dominios incorporados, puedes habilitar la demostración para que reciba mensajes de Looker.
  3. Activa Incrustar autenticación.
  4. Para ver tu secreto de incorporación, debes restablecerlo. Copia el secreto en un lugar seguro.

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

Proporciona el secreto de incorporación al servidor. Puedes hacerlo de las siguientes maneras:

  • Configúralo como LOOKER_EMBED_SECRET en tu entorno de shell.
  • Crea un archivo llamado .env en la raíz del directorio del SDK. Agrega una línea a ese archivo: LOOKER_EMBED_SECRET="YourLookerSecret"

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

  • Configúralo como LOOKER_WEB_URL en tu entorno de shell.
  • Agrega LOOKER_WEB_URL="yourinstance.looker.com:yourport" al archivo .env.

Edita el archivo ENV para especificar los IDs del contenido que deseas incorporar.

# 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 sea adecuado para el tipo de usuario que deseas incorporar.

{
  // 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 demostración

Para compilar y ejecutar la demostración, sigue los pasos del servidor correspondiente.

Servidor de nodos

  1. Ejecuta npm install
  2. Ejecuta npm start

El servidor imprimirá el host y el puerto en el que se está ejecutando. Si es diferente de http://localhost:8080, deberás agregarlo a tu lista de entidades permitidas de dominios incorporados.

Servidor de Python

  1. Ejecuta npm install
  2. Ejecuta npm run python

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

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