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.
- Navegue para Administração > Incorporação de plataformas na sua instância do Looker. Esta ação requer privilégios de administrador.
- 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. - Ative a opção Incorporar autenticação.
- 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ó
- Execução
npm install
- 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
- Execução
npm install
- 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.