SDK Embed rispetto all'endpoint Crea URL di incorporamento firmato

Looker è ideale per rendere i dati accessibili a tutti gli utenti o clienti. Come diciamo spesso, Looker contribuisce a "democratizzare i dati". Puoi consentire agli utenti di visualizzare autonomamente i risultati delle query senza che un analista debba creare manualmente una dashboard. Con Looker, gli utenti possono persino condurre le proprie analisi. Un modo per farlo è utilizzare la funzionalità di incorporamento firmato di Looker. Questa pagina illustra due metodi diversi per implementare l'incorporamento firmato: l'API Looker e l'SDK (Software Development Kit) di incorporamento di Looker.

Supponiamo che tu voglia integrare i risultati delle query nell'applicazione o nei sistemi interni della tua azienda e non voglia dover fornire a tutti gli utenti le credenziali di Looker. Questa operazione può essere eseguita con la funzionalità di incorporamento firmato di Looker. Questo è diverso dal riferimento generale ai flussi di lavoro SSO come LDAP o SAML, che possono essere integrati anche nell'istanza di Looker.

L'incorporamento firmato con accesso indica che, una volta creato l'URL di incorporamento e inviata la richiesta dal browser, la sessione Looker dell'utente è iniziata e l'utente ha eseguito l'accesso. Questi URL sono firmati e possono essere utilizzati una sola volta. Questi URL creano iframe che consentono agli sviluppatori di incorporare contenuti come esplorazioni, look e dashboard nel sito web o nell'applicazione della tua azienda. Quando viene utilizzato l'URL, se l'utente non dispone di un account esistente, ne verrà creato uno in base ai parametri passati nell'URL.

Gli sviluppatori possono sfruttare l'API Looker o gli SDK dell'API Looker per creare dinamicamente questi iframe. Puoi applicare temi e personalizzare i contenuti in base alle esigenze della tua azienda o di un gruppo specifico di utenti. Per scoprire di più sul potenziale dell'incorporamento di Looker nei tuoi contenuti, guarda questa demo completa con una spiegazione di come possono essere applicati questi concetti.

Come faccio a iniziare?

Ora, supponiamo che tu abbia guardato la demo e voglia esplorare l'aggiunta di questi iframe alla tua applicazione. Da dove dovresti iniziare e quale metodo è più adatto al tuo caso d'uso?

Looker offre diverse opzioni principali per generare questi contenuti, che possono essere inseriti all'interno dell'applicazione o del sito web:

  • I repository di esempio di Looker di script scritti in vari linguaggi di programmazione (C#, Python, Node.js, Python, Ruby, PHP)
  • L'endpoint Create Signed Embed Url incluso nella nostra API REST, accessibile tramite richieste HTTP o uno dei nostri SDK
  • L'SDK Embed di Looker

In genere consigliamo ai clienti l'SDK Embed e l'endpoint API REST anziché gli script di esempio, perché sia l'SDK sia l'API REST vengono aggiornati di frequente dai nostri sviluppatori e in genere creano URL più brevi rispetto agli script. Gli URL più brevi sono un po' più facili da gestire. Inoltre, l'SDK Embed e l'endpoint API REST offrono alcune utili funzionalità di sicurezza, che vengono descritte più avanti in questa pagina.

Supponiamo di voler consentire all'utente dell'app di visualizzare una dashboard di Looker in una pagina di dati di un'applicazione cliente. Un workflow di incorporamento comune potrebbe essere il seguente:

  1. L'utente accede a un'applicazione. Per accedere all'app, possono utilizzare un servizio SAML o semplicemente un indirizzo email e una password.
  2. L'applicazione conferma che le credenziali sono corrette e l'utente può accedere correttamente ai contenuti.
  3. In base alla risposta del flusso di lavoro di accesso, le informazioni dell'utente vengono trasmesse a una funzione che può utilizzare uno dei nostri script di esempio per creare l'URL incorporato firmato. Questi script richiedono le autorizzazioni dell'utente, gli ID gruppo, il segreto di incorporamento, l'URL host, gli attributi utente come nome e cognome, i filtri di accesso, la durata della sessione e l'URL a cui vogliamo che l'utente possa accedere. Tutte queste informazioni vengono inviate a Looker e viene creato un URL firmato.
  4. L'utente passa alla pagina dei dati nell'applicazione, dove questo URL firmato viene inserito in un iframe; successivamente, il browser invia una richiesta all'URL dell'iframe. La dashboard si propaga con un'esperienza personalizzata e l'utente può accedere ai dati di Looker all'interno dell'applicazione.

Endpoint Create Signed Embed Url

Utilizzando l'API REST di Looker o uno degli SDK, uno sviluppatore può generare un URL codificato e firmato basato su un insieme di parametri. Si tratta di una richiesta POST. Il server da cui ha origine la richiesta API deve essere in grado di autenticarsi in Looker con autorizzazioni amministrative. Uno dei principali vantaggi dell'utilizzo di questo endpoint è che non è necessario un secret di incorporamento; l'endpoint è già configurato per recuperare il secret di incorporamento corrente. Inoltre, le chiamate a questo endpoint non vengono conteggiate ai fini delle limitazioni di frequenza dell'API. In generale, le credenziali API sono più facili da ruotare rispetto a un secret di incorporamento. È possibile attivare più credenziali API 3 contemporaneamente, ma è possibile utilizzare un solo segreto di incorporamento alla volta su un'istanza. In questo modo, è più facile sostituire le credenziali senza interruzioni del servizio. L'endpoint Create Signed Embed Url crea anche un URL più breve e conciso rispetto agli script di esempio nel nostro repository di esempi di script di URL incorporati firmati.

Ecco un esempio di flusso di lavoro che utilizza l'endpoint Create Signed Embed Url:

  1. L'utente tenta di accedere alla tua applicazione, il più delle volte con una combinazione di nome utente e password o forse tramite un provider di identità.
  2. Se l'accesso all'applicazione viene eseguito correttamente, viene eseguito l'endpoint Create Signed Embed Url. Una funzione creata dal tuo team di sviluppo trasmette le credenziali specifiche dell'utente a questo endpoint e Looker restituisce un URL firmato al tuo server.
  3. L'utente potrebbe avere la possibilità di fare clic su una scheda dei dati nell'applicazione. Quando passa alla scheda dei dati, questa pagina richiede l'URL firmato dal tuo server e lo inserisce nell'iframe della pagina.
  4. L'utente vede una dashboard di Looker incorporata senza problemi nella tua applicazione con dati in tempo reale.

SDK Embed

L'SDK Embed di Looker è una raccolta di funzioni JavaScript raggruppate per semplificare l'incorporamento dei contenuti di Looker per gli sviluppatori. L'SDK Embed ti consente di aggiungere contenuti di Looker a una pagina della tua applicazione o del tuo sito web senza dover creare elementi HTML specifici. L'SDK consente agli sviluppatori di creare una comunicazione point-to-point sicura tra la pagina HTML e i contenuti di Looker. L'SDK incorporato ora incapsula l'iframe, il che significa che i clienti non dovranno creare o gestire l'iframe. L'SDK Embed è solo per le app browser, ma include una funzione di utilità helper per generare l'URL firmato. Entrambi sono disponibili in TypeScript e Python. Anche se l'SDK Embed è presente nel registro nmpjs, non è necessario utilizzare un server web Node.js.

Una funzionalità unica dell'SDK Embed è che consente anche di sfruttare i componenti di Looker, una raccolta di blocchi di codice riutilizzabili creati per implementare il sistema di progettazione di Looker.

Un altro vantaggio dell'SDK Embed è il numero di funzioni predefinite che semplificano il lavoro del tuo team di sviluppo. Uno degli esempi principali è l'annullamento dei clic. L'SDK Embed utilizza l'API MessageChannel anziché postMessage. Ciò significa che due script in esecuzione sulla stessa pagina possono comunicare tra loro utilizzando l'API postMessage. Ciò consente ad altre funzioni di comunicare con l'iframe o di comunicare con l'iframe.

Un esempio di workflow per l'SDK Embed potrebbe essere il seguente:

  1. L'utente tenta di accedere alla tua applicazione.
  2. Se l'accesso va a buon fine, le informazioni vengono inviate all'utilità helper Node.js sul server che esegue l'applicazione. In questo modo, le informazioni richieste vengono trasmesse all'istanza Looker e viene restituito un URL firmato.
  3. L'utente va alla pagina dei dati nell'applicazione in cui l'SDK incorporato viene utilizzato per inserire l'iframe. Poiché l'SDK Embed è scritto in JavaScript, possiamo utilizzare LookerEmbedSDK.createDashboardWithId e scegliere come target un elemento DOM specifico (di solito uno span o un div) nella pagina a cui aggiungere l'iframe (URL firmato).
  4. La pagina viene caricata e l'URL firmato carica la dashboard dall'istanza di Looker.

Quindi, qual è il metodo migliore?

Il metodo utilizzato dal tuo team di sviluppo dipende dal caso d'uso specifico:

Diagramma di Venn che evidenzia le somiglianze e le differenze tra i metodi Create Signed Embed Url e SDK Embed.

Come mostrato nel diagramma precedente, sia il metodo dell'endpoint Create Signed Embed Url sia il metodo dell'SDK Embed descritto in precedenza consentono al team di sviluppo di concentrarsi sul prodotto anziché su come Looker si integra con l'app. Entrambi i metodi consentono inoltre di ottenere esperienze di dati avanzate nell'applicazione nativa.

Il metodo dell'endpoint Create Signed Embed Url si differenzia dal metodo dell'SDK Embed nei seguenti modi:

  • Non richiede un segreto di incorporamento.
  • La procedura è simile a quella per l'utilizzo di altre API REST.
  • L'endpoint deve essere chiamato lato server.

Il metodo dell'SDK Embed ha le seguenti funzionalità:

  • È basato su JavaScript e può scegliere come target elementi DOM specifici.
  • Interagisce con i componenti di Looker per contribuire a definire lo stile della UI.
  • Si integra con le funzioni di utilità helper e lo sviluppo può essere eseguito lato client.

Se hai domande specifiche sui requisiti di sviluppo o architettura, puoi contattare il team di servizi professionali di Looker o uno dei nostri partner di sviluppo.

Inoltre, il nostro team di assistenza può aiutarti a risolvere eventuali problemi di alto livello o comportamenti imprevisti. Puoi aprire una richiesta di assistenza nel Centro assistenza di Looker facendo clic su Contattaci.

Per ulteriori risorse, consulta il post della community Strumenti di incorporamento firmato e risorse per la risoluzione dei problemi.