Demonstração do SDK de incorporação

O repositório do SDK de incorporação do Looker inclui código de exemplo e uma demonstração do SDK de incorporação. Devido aos requisitos de segurança do Looker, a demonstração requer alguma configuração. A demonstração também requer o seu segredo de incorporação do Looker. O segredo de incorporação concede acesso a todos os seus dados, pelo que deve ter em atenção o seguinte:

  • Não partilhe o seu segredo com ninguém que não queira que tenha acesso completo à sua instância.
  • Não reponha o segredo se já o estiver a usar noutro contexto.
  • Não configure o código para armazenar o segredo no navegador de Internet.

Passo 1: ative a incorporação na sua instância do Looker

Isto está documentado mais detalhadamente na página de documentação Incorporação assinada.

  1. Navegue para Administração > Incorporação de plataformas na sua instância do Looker. Esta ação requer privilégios de administrador.
  2. Por predefinição, o servidor de demonstração é executado em http://localhost:8080. Ao adicionar esse endereço à lista de autorizações de domínios incorporados, pode permitir que a demonstração receba mensagens do Looker.
  3. Ative a opção Incorporar autenticação.
  4. Para ver o segredo de incorporação, tem de o repor. Copie o segredo para um local seguro.

Passo 2: personalize as definições da demonstração para a sua instância do Looker

Faculte o seu segredo de incorporação ao servidor. Pode fazê-lo das seguintes formas:

  • Defina-o como LOOKER_EMBED_SECRET no seu ambiente de shell.
  • Crie um ficheiro denominado .env na raiz do diretório do SDK. Adicione uma linha a esse ficheiro: LOOKER_EMBED_SECRET="YourLookerSecret"

Forneça o endereço do anfitrião da instância do Looker ao servidor através de um dos seguintes métodos:

  • Defina-o como LOOKER_WEB_URL no seu ambiente de shell.
  • Adicione LOOKER_WEB_URL="yourinstance.looker.com:yourport" ao ficheiro .env.

Edite o ficheiro ENV para especificar os IDs do conteúdo que quer 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

Edite o ficheiro demo/demo_user.json para que seja adequado ao tipo de utilizador que quer 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" },
}

Passo 3: crie e execute a demonstração

Para criar e executar a demonstração, siga os passos para o servidor adequado.

Servidor de nó

  1. Execução npm install
  2. Execução npm start

O servidor imprime o anfitrião e a porta em que está a ser executado. Se for diferente de http://localhost:8080, tem de o adicionar à sua lista de autorizações de domínios incorporados.

Servidor Python

  1. Execução npm install
  2. Execução npm run python

O servidor imprime o anfitrião e a porta em que está a ser executado.

Pode ter de pip install six para instalar a camada de compatibilidade do Python 2/3.