Il repository dell'SDK Embed di Looker include codice campione e una demo dell'SDK Embed. A causa dei requisiti di sicurezza di Looker, la demo richiede un po' di configurazione. La demo richiede anche il tuo token di incorporamento di Looker. Il segreto di incorporamento concede l'accesso a tutti i tuoi dati, quindi tieni presente quanto segue:
- Non condividere il segreto con persone che non vuoi che abbiano accesso completo alla tua istanza.
- Non reimpostare il secret se lo stai già utilizzando in un altro contesto.
- Non configurare il codice in modo che memorizzi il segreto nel browser web.
Passaggio 1: attiva l'embedding nell'istanza di Looker
Questo aspetto è descritto in modo più dettagliato nella pagina della documentazione relativa all'embedding firmato.
- Vai ad Amministrazione > Incorporazione della piattaforma nell'istanza di Looker. Per farlo sono necessari i privilegi amministrativi.
- Per impostazione predefinita, il server demo viene eseguito su
http://localhost:8080
. Aggiungendo questo indirizzo alla lista consentita dei domini incorporati, puoi consentire alla demo di ricevere messaggi da Looker. - Attiva Incorpora autenticazione.
- Per visualizzare il segreto di incorporamento, devi reimpostarlo. Copia il segreto in un luogo sicuro.
Passaggio 2: personalizza le impostazioni di demo per l'istanza di Looker
Fornisci il tuo secret di incorporamento al server. Per farlo puoi scegliere tra diverse opzioni:
- Impostalo come
LOOKER_EMBED_SECRET
nell'ambiente shell. - Crea un file denominato
.env
nella directory principale della directory sdk. Aggiungi una riga al file:LOOKER_EMBED_SECRET="YourLookerSecret"
Fornisci l'indirizzo host dell'istanza di Looker al server utilizzando uno dei seguenti metodi:
- Impostalo come
LOOKER_WEB_URL
nell'ambiente shell. - Aggiungi
LOOKER_WEB_URL="yourinstance.looker.com:yourport"
al file.env
.
Modifica il file ENV per specificare gli ID dei contenuti che vuoi incorporare.
# 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
Modifica il file demo/demo_user.json
in modo che sia appropriato per il tipo di utente che vuoi incorporare.
{
// 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" },
}
Passaggio 3: crea ed esegui la demo
Per compilare ed eseguire la demo, segui i passaggi per il server appropriato.
Server nodo
- Esegui
npm install
- Esegui
npm start
Il server stamperà l'host e la porta su cui è in esecuzione. Se è diverso da http://localhost:8080
, dovrai aggiungerlo alla lista consentita dei domini incorporati.
Server Python
- Esegui
npm install
- Esegui
npm run python
Il server stamperà l'host e la porta su cui è in esecuzione.
Potresti dover pip install six
per installare il livello di compatibilità Python 2/3.