SDK de incorporação em comparação com o endpoint de URL de incorporação assinado

O Looker é ótimo para tornar os dados acessíveis a todos os usuários ou clientes. Como gostamos de dizer, o Looker ajuda a "democratizar os dados". Você pode permitir que seus usuários visualizem os resultados das consultas sem que um analista precise criar um painel manualmente; com o Looker, seus usuários podem até mesmo realizar as próprias análises. Uma maneira de fazer isso é usando o recurso de incorporação assinada do Looker. Esta página discute dois métodos diferentes para implementar a incorporação assinada, a API Looker e o kit de desenvolvimento de software (SDK) de incorporação do Looker.

Digamos que você queira integrar os resultados da consulta ao aplicativo ou aos sistemas internos da sua empresa e não queira fornecer as credenciais do Looker a todos os usuários. Isso pode ser feito com o recurso de incorporação assinada do Looker. Isso é diferente da referência geral a fluxos de trabalho de SSO, como LDAP ou SAML, que também podem ser integrados à sua instância do Looker.

A incorporação assinada conectada significa que, quando o URL de incorporação for criado e a solicitação for enviada do navegador, a sessão do Looker do usuário foi iniciada e ele terá feito login. Esses URLs são assinados e só podem ser usados uma vez. Esses URLs criam iframes que permitem aos desenvolvedores incorporar conteúdo, como Análises, Looks e dashboards, ao site ou aplicativo da empresa. Quando o URL for usado, se o usuário não tiver uma conta, uma conta será criada para ele com base nos parâmetros transmitidos para o URL.

Os desenvolvedores podem usar a API Looker ou os SDKs da API Looker para criar esses iframes de forma dinâmica. Você pode aplicar temas e personalizar o conteúdo para atender às necessidades da sua empresa ou de um grupo específico de usuários. Para saber mais sobre o potencial de incorporar o Looker ao seu conteúdo, veja esta demonstração completa com uma explicação de como aplicar esses conceitos.

Como eu começo?

Digamos que você assistiu à demonstração e quer adicionar esses iframes ao seu aplicativo. Por onde você deve começar e qual método é adequado para seu caso de uso?

O Looker oferece várias opções principais para gerar esse conteúdo, que podem ser colocadas no aplicativo ou site:

Geralmente, recomendamos o SDK de incorporação e endpoint de API REST aos clientes, em vez de scripts de exemplo, porque o SDK e a API REST são atualizados com frequência pelos nossos desenvolvedores e geralmente criam URLs mais curtos em comparação com os scripts. Os URLs mais curtos são um pouco mais fáceis de gerenciar. Há também alguns recursos de segurança úteis que o SDK de incorporação e o endpoint da API REST oferecem, que serão discutidos mais adiante nesta página.

Suponha que queremos que o usuário do app possa acessar um painel do Looker em uma página de dados em um aplicativo do cliente. Um fluxo de trabalho de incorporação comum pode ter esta aparência:

  1. O usuário faz login em um aplicativo. Eles podem usar um serviço SAML ou apenas um e-mail e uma senha para fazer login no app.
  2. O aplicativo confirma que as credenciais estão corretas e que o usuário pode acessar o conteúdo.
  3. Com base na resposta do fluxo de trabalho de login, as informações do usuário são transmitidas para uma função que pode usar um dos nossos scripts de exemplo para criar o URL de incorporação assinado. Esses scripts exigem as permissões do usuário, IDs de grupo, o segredo de incorporação, o URL do host, atributos do usuário, como nome e sobrenome, filtros de acesso, duração da sessão e o URL que queremos que o usuário possa acessar. Todas essas informações são enviadas ao Looker, e um URL assinado é criado.
  4. O usuário navega até a página de dados no aplicativo, onde esse URL assinado é colocado em um iframe; em seguida, o navegador exibe uma solicitação no URL do iframe. O dashboard se propaga com uma experiência personalizada, e o usuário pode acessar os dados do Looker no aplicativo.

O endpoint Create Signed Embed Url

Com a API REST do Looker ou um dos SDKs, um desenvolvedor pode gerar um URL assinado e codificado com base em um conjunto de parâmetros. Essa é uma solicitação POST. O servidor de origem da solicitação de API precisa se autenticar no Looker com permissões de administrador. Um dos principais benefícios de usar esse endpoint é que um secret de incorporação não é necessário para usá-lo. o endpoint já está configurado para recuperar o secret de incorporação atual. As chamadas para esse endpoint também não são contabilizadas nas limitações de taxa da API. Em geral, as credenciais da API são mais fáceis de alternar em comparação com uma chave secreta de incorporação. Várias credenciais da API 3 podem estar ativas ao mesmo tempo, mas apenas uma chave secreta de incorporação pode ser usada por vez em uma instância. Isso facilita a troca de credenciais sem a interrupção do serviço. O endpoint Create Signed Embed Url também cria um URL mais curto e conciso em comparação com os scripts de exemplo no repositório de exemplo de script de URL de incorporação assinado.

Confira um exemplo de fluxo de trabalho que usa o endpoint Create Signed Embed Url:

  1. O usuário tenta fazer login no seu aplicativo, geralmente com uma combinação de nome de usuário e senha ou possivelmente por um provedor de identidade (IdP).
  2. Se o usuário fizer login no aplicativo, o endpoint Create Signed Embed Url será executado. Uma função criada pela equipe de desenvolvimento transmite as credenciais específicas do usuário para esse endpoint, e um URL assinado é retornado do Looker para o servidor.
  3. O usuário pode ter a opção de clicar em uma guia de dados no aplicativo. Quando o usuário navega até a guia de dados, essa página solicita o URL assinado do seu servidor e o coloca no iframe da página.
  4. O usuário vê um painel do Looker inserido em um iframe no seu aplicativo com dados em tempo real.

SDK incorporado

O SDK de incorporação do Looker é um conjunto de funções JavaScript empacotadas para facilitar a incorporação de conteúdo do Looker para os desenvolvedores. O SDK de incorporação permite adicionar conteúdo do Looker a uma página no aplicativo ou site sem precisar criar elementos HTML específicos. Com o SDK, os desenvolvedores podem criar uma comunicação ponto a ponto segura entre a página HTML e seu conteúdo do Looker. Agora, o SDK de incorporação encapsula o iframe, o que significa que os clientes não precisarão criar ou gerenciar o iframe. O SDK de incorporação é apenas para apps de navegador, mas inclui uma função utilitária auxiliar para gerar o URL assinado. Eles estão disponíveis em TypeScript e Python. Embora o SDK de incorporação esteja incluído no registro nmpjs, você não precisa usar um servidor da Web Node.js.

Um recurso exclusivo do SDK de incorporação é que ele também permite aproveitar os componentes do Looker, uma coleção de blocos de código reutilizáveis criados para ajudar a implementar o sistema de design do Looker.

Outro benefício do SDK de incorporação é o número de funções pré-criadas que eliminam grande parte do trabalho da sua equipe de desenvolvimento. Um dos principais exemplos é o cancelamento de cliques. O SDK incorporado usa a API MessageChannel em vez de postMessage. Isso significa que dois scripts executados na mesma página podem se comunicar usando a API postMessage. Isso permite que outras funções se comuniquem com o iframe ou que outras funções se comuniquem com o iframe.

Um exemplo de fluxo de trabalho para o SDK de incorporação pode ser semelhante a este:

  1. O usuário tenta fazer login no seu aplicativo.
  2. Se o login for bem-sucedido, as informações serão enviadas ao utilitário auxiliar Node.js no servidor que executa o aplicativo. Isso transmite as informações necessárias para a instância do Looker, e um URL assinado é retornado.
  3. O usuário navega até a página de dados no aplicativo em que o SDK de incorporação é usado para colocar o iframe. Como o SDK de incorporação é escrito em JavaScript, podemos usar LookerEmbedSDK.createDashboardWithId e segmentar um elemento DOM específico (geralmente um período ou div) na página ao qual anexar o iframe (URL assinado).
  4. A página é carregada e o URL assinado carrega o painel da instância do Looker.

Então...qual é o melhor método?

A escolha de qual método usar vai depender do seu caso de uso específico:

Diagrama de Venn destacando as semelhanças e diferenças entre os métodos "Criar URL de incorporação assinada" e "Incorporar SDK".

Como mostrado no diagrama anterior, tanto o método de endpoint Create Signed Embed Url quanto o método do SDK de incorporação descritos anteriormente permitem que a equipe de desenvolvimento se concentre no produto, e não em como o Looker se integra ao app. Os dois métodos também permitem experiências de dados avançadas no aplicativo nativo.

O método de endpoint Create Signed Embed Url difere do método do SDK incorporado das seguintes maneiras:

  • Ele não requer um secret de incorporação.
  • O processo é semelhante ao uso de outras APIs REST.
  • O endpoint precisa ser chamado do lado do servidor.

O método de incorporação do SDK tem os seguintes recursos:

  • Ele é baseado em JavaScript e pode segmentar elementos DOM específicos.
  • Ele interage com os componentes do Looker para ajudar a definir o estilo da interface.
  • Ele se integra a funções utilitárias auxiliares e o desenvolvimento pode ser feito do lado do cliente.

Se você tiver dúvidas específicas sobre os requisitos de desenvolvimento ou arquitetura, entre em contato com a equipe de serviços profissionais do Looker ou com um dos nossos parceiros de desenvolvimento.

Nossa equipe de suporte também pode ajudar você a resolver problemas de alto nível ou comportamentos inesperados. Para abrir uma solicitação de suporte na Central de Ajuda do Looker, clique em Fale conosco.

Confira a postagem da comunidade Ferramentas de incorporação assinada e recursos de solução de problemas para mais recursos.