Como compartilhar dados usando um hub de ações

Além de enviar conteúdo para os destinos integrados do Looker, você pode usar ações, também chamadas de integrações, para enviar conteúdo a serviços de terceiros integrados ao Looker usando um servidor de hub de ações.

Nesta página, você encontra as opções para criar ações personalizadas que podem ser adicionadas ao Looker Action Hub ou ao seu servidor particular. Esta página também descreve como ativar um servidor do hub de ações local para testar suas ações personalizadas ou executar um servidor de hub de ações particular.

Para começar a usar as ações, você pode:

Depois que a ação é adicionada ao hub de ações, um administrador do Looker pode enable a ação para enviar conteúdo do Looker a esses serviços.

Você também pode configurar vários hubs de ações se quiser usar as integrações do Looker pelo Looker Action Hub e também hospedar suas próprias ações particulares ou personalizadas. As ações de cada hub de ações aparecem na página Ações do painel Administrador.

Looker Action Hub

O Looker hospeda e fornece o Looker Action Hub, um servidor sem estado que implementa a API Action do Looker e expõe ações comuns. Todos os dados que seus usuários enviam usando uma ação são processados temporariamente no servidor do Looker Action Hub, em vez de na sua instância do Looker.

O Looker já é integrado a vários serviços. Consulte a página de documentação Configurações de administrador: ações para saber como ativar esses serviços.

Requisitos do Looker Action Hub

O Looker Action Hub precisa enviar e receber solicitações de API das seguintes maneiras:

Se a implantação do Looker não puder acomodar essas solicitações ou se o recurso Lista de permissões de IP estiver ativado na instância do Looker, configure um servidor do hub de ações locais para veicular integrações ou ações personalizadas particulares do Looker. Os administradores de instâncias hospedadas pelo cliente também podem implantar um servidor de ações local especificamente para ações de streaming e OAuth.

Solicitações da instância do Looker para a rede do Hub de ações do Looker

Solicitações para actions.looker.com são resolvidas para um endereço IP dinâmico. As solicitações enviadas da instância do Looker precisam alcançar os seguintes endpoints:

actions.looker.com/
actions.looker.com/actions/<name>/execute
actions.looker.com/actions/<name>/form

em que name é o nome programático da ação.

Solicitações do navegador do usuário do Looker para a rede do Looker Action Hub

O navegador do usuário do Looker precisa fazer solicitações aos seguintes endpoints do Hub de ações do Looker (para OAuth):

actions.looker.com/actions/<name>/oauth

em que name é o nome programático da ação.

Solicitações da rede do Looker Action Hub para a instância do Looker

O Looker Action Hub precisa fazer solicitações à instância do Looker para ações que apoiem os resultados de streaming ou que usem OAuth.

Uma ação de streaming permite que ela consuma consultas que entregam Todos os resultados. As ações ativadas para OAuth usam a autenticação por usuário nos fluxos do OAuth 2.0. As ações do OAuth precisam armazenar as credenciais do usuário na instância de origem do Looker porque o Looker Action Hub não tem estado e é multilocatário. Além disso, ele não armazena credenciais específicas do usuário de nenhum tipo.

As solicitações do Looker Action Hub para uma instância do Looker têm os seguintes formatos:

GET <host_looker_url>/downloads/<random_40_char_token>
POST <host_looker_url>/action_hub_state/<random_40_char_token>

Esses URLs são gerados na hora na instância do Looker antes de serem enviados ao Looker Action Hub. Por isso, o Looker Action Hub precisa conseguir resolver o <host_looker_url> para um endereço IP e fazer solicitações na rede em que a instância do Looker reside.

O Looker Action Hub tem endereços IP de saída estáticos de onde as solicitações sempre vão vir: 35.153.89.114, 104.196.138.163 e 35.169.42.87. Os administradores de instâncias hospedadas pelo Looker que ativaram a lista de permissões de IP precisam adicionar esses endereços IP para usar ações que oferecem suporte a resultados de streaming ou que usam OAuth.

Considerações sobre instâncias hospedadas pelo cliente

Para usar as integrações do Looker, o Looker Action Hub precisa se comunicar com a instância do Looker e atender aos requisitos desse recurso. Isso nem sempre é possível com instâncias do Looker hospedadas pelo cliente, por vários motivos. Se a comunicação bidirecional entre o Looker Action Hub e a instância não for possível, ele poderá apresentar comportamentos inesperados ou indesejáveis, como consultas pendentes ou ações indisponíveis.

Para resolver o possível problema de não conseguir se comunicar com a instância do Looker Action Hub, os administradores podem implementar uma das soluções mostradas mais adiante nesta página. A solução ou combinação de soluções apropriada depende da arquitetura da instância do Looker:

  • Se a instância hospedada pelo cliente não puder ser resolvida pelo Looker Action Hub, ou seja, o Looker Action Hub não pode receber solicitações da instância do Looker, os administradores do Looker poderão entrar em contato com um especialista em vendas do Google Cloud para ativar o recurso de licença public_host_url. Esse recurso de licença revela a opção de inicialização --public-host-url, que permite que os administradores especifiquem um nome de host <public_host_url> resolvível diferente da instância <host_looker_url>. O public_host_url substitui o nome do host de alguns URLs de callback específicos do Looker Action Hub e encaminha esses URLs por um proxy reverso que tem public_host_url como um nome que pode ser resolvido publicamente. Esse proxy reverso aceita solicitações apenas dos endereços IP de saída estáticos para o Looker Action Hub. Os administradores do Looker que usam esse método precisam adicionar à lista de permissões os endereços IP de saída que o Looker Action Hub faz solicitações para a instância do Looker: 35.153.89.114, 104.196.138.163 e 35.169.42.87.

  • Se o URL da instância hospedada pelo cliente pode ser resolvido pela instância do Looker, mas o Looker Action Hub não pode enviar solicitações a ela, talvez os usuários não consigam configurar ou usar ações com suporte a resultados de streaming ou que usem OAuth. Para resolver isso, os administradores do Looker precisam adicionar à lista de permissões os endereços IP de saída de onde o Looker Action Hub faz solicitações à instância do Looker: 35.153.89.114, 104.196.138.163 e 35.169.42.87.

  • Se nenhuma das soluções acima for adequada para a arquitetura da instância do Looker, os administradores do Looker poderão implantar um hub de ações hospedado pelo cliente para todas as ações ou apenas para aquelas que oferecem suporte a resultados de streaming ou usam OAuth.

  • Para implantar um hub de ação hospedado pelo cliente, garanta que o arquivo JAR esteja hospedado em um servidor público para que o Looker Action Hub possa se comunicar com ele. No entanto, essa solução não é recomendada.

Além disso, as ações OAuth e de streaming podem não ser utilizáveis em uma instância do Looker hospedada pelo cliente se a instância usar um certificado SSL emitido por uma autoridade certificadora (CA) que não esteja nesta lista de certificados raiz.

Como criar uma ação personalizada

Nesta seção, descrevemos as etapas para criar e testar uma ação personalizada usando o código-fonte do Looker Action Hub. Para ver exemplos de código funcional, verifique as ações existentes no repositório looker-open-source/actions (em inglês) no GitHub.

Para criar uma ação personalizada:

  1. Como configurar um repositório de desenvolvimento
  2. Escrever sua ação
  3. Testar sua ação
  4. Publicar e ativar sua ação no Looker Action Hub ou no seu próprio servidor particular

Como acontece com qualquer ação, talvez seja necessário configurar os modelos LookML com parâmetros específicos antes de usar a ação para enviar os dados.

Como configurar um repositório de desenvolvimento

O Looker Action Hub é um servidor Node.js escrito em TypeScript, uma pequena camada sobre JavaScript moderno que adiciona informações de tipo para ajudar a detectar erros de programação. Se você tem familiaridade com JavaScript, provavelmente já conhece a maior parte da linguagem TypeScript.

A execução do Looker Action Hub requer o seguinte software:

  • Node.js
  • Node Version Manager (NVM): para selecionar a versão correta do Node.js
  • Yarn (para gerenciar dependências)

Depois de instalar o software necessário, você poderá configurar o ambiente de desenvolvimento. O exemplo a seguir usa o Git.

  1. Clone o repositório looker-open-source/actions localmente:

    git clone git@github.com:looker-open-source/actions.git
    
  2. Crie um diretório com o nome da sua ação no diretório actions/src/actions. Exemplo:

    mkdir actions/src/actions/my_action
    
  3. Comece a preencher o diretório com os arquivos necessários para executar a ação. Consulte o repositório de ações do GitHub (em inglês) para ver um exemplo de estrutura de arquivos.

O Looker também recomenda que você adicione o seguinte:

  • Um README para explicar a finalidade e os meios de autenticação para sua ação
  • Um ícone PNG para ser exibido no Looker Action Hub (ou no hub de ações particulares na sua instância do Looker) e nas janelas de entrega de dados do Looker
  • Qualquer arquivo para testes que você queira executar no seu código de ação (isso é diferente de testar sua ação)

Escrever uma ação

Um requisito de design para o servidor do Looker Action Hub é que ele permaneça totalmente sem estado. Portanto, não é permitido armazenar informações no aplicativo ou serviço da ação. Todas as informações necessárias para atender à ação precisam ser fornecidas nas chamadas de solicitação do arquivo de ação.

O conteúdo exato do arquivo de ação varia de acordo com o serviço, o tipo ou nível em que a ação opera e quais dados ou formatos de visualização precisam ser especificados. A ação também pode ser configurada para fluxos de autorização do OAuth 2.0.

Os arquivos de ação são baseados no método de API /execute. As solicitações da API Looker recebem um DataActionRequest sempre que um usuário executa a ação no Looker. O DataActionRequest contém todos os dados e metadados necessários para executar a ação. Também há um método /form disponível, que pode ser usado para coletar mais informações do usuário antes que ele execute a ação. Os campos que você especificar em /form serão exibidos no pop-up Enviar ou Programar quando os usuários selecionarem a ação como destino para a entrega de dados.

Ao escrever o arquivo de ação, inclua pelo menos os seguintes parâmetros marcados como Obrigatórios na definição da ação:

Parâmetro Obrigatório Descrição Tipo de dados
name Sim Um nome exclusivo para a ação. Ele precisa ser exclusivo em todas as ações no Looker Action Hub. string
url Sim Um URL absoluto do endpoint /execute para essa ação. string
label Sim Um rótulo legível para a ação. string
supportedActionTypes Sim Uma lista de tipos de ação compatíveis com a ação. Os valores válidos são "cell", "query" e "dashboard". string
formURL No Um URL absoluto do endpoint /form para essa ação. string
description No Descrição da ação. string
params No Matriz de parameters para a ação. Inclua o nome, o rótulo e a descrição no formato de string de cada parâmetro. Esses são os campos que aparecem na página de ativação da ação no painel Administrador. Se quiser gerenciar como os usuários podem enviar dados para um destino de ação, especifique um atributo de usuário que tenha um valor definido. parameters
supportedFormats No Uma lista de formatos de dados compatíveis com a ação. Os valores válidos são: "txt", "csv", "inline_json", "json" e "json_detail", "json_detail_lite_stream", "xlsx", "html", "wysiwyg_pdf", "assembled_pdf", and "wysiwyg_png".. string
supportedFormattings No Uma lista de opções de formatação compatíveis com a ação. Os valores válidos são: "formatted" e "unformatted". string
supportedVisualizationFormattings No Uma lista de opções de formatação de visualização compatíveis com a ação. Os valores válidos são: "apply" e "noapply". string
iconName No Um URI de dados que representa uma imagem de ícone para a ação. string
requiredFields No Uma lista de descrições de campos obrigatórios com que essa ação é compatível. Se houver várias entradas nessa lista, a ação vai exigir mais de um campo. RequiredField
supportedDownloadSettings No Um booleano que determina se a ação receberá um URL de download de uso único para facilitar o streaming ilimitado de dados. O parâmetro é definido pelo parâmetro usesStreaming, que é um booleano true/false. Se for usesStreaming = true, então supportedDownloadSettings = url. Se for usesStreaming = false, então supportedDownloadSettings = push. Booleano
usesOAuth No Um booleano que determina se a ação é do OAuth. Isso determina se a ação vai receber um link de uso único para definir state para um usuário específico. Booleano
usesStreaming No Um booleano que determina se a ação oferece suporte aos resultados da consulta de streaming. Marque a coluna Usa streaming de dados (sim/não) na lista de serviços integrados. As ações que transmitem resultados podem exigir a configuração de um servidor do hub de ações local. Consulte a página de práticas recomendadas Como configurar um hub de ações locais para ações que usam OAuth ou streaming para mais informações. Booleano
minimumSupportedVersion No A versão mínima do Looker em que a ação vai aparecer na lista do hub de ações do painel Administrador. string

Para referência, você encontra exemplos de ações do Looker Action Hub no GitHub.

Tipos de ação compatíveis

O Looker oferece suporte a três tipos de ações, conforme especificado no parâmetro supportedActionTypes da sua ação: consulta, célula e painel.

  • Uma ação no nível da consulta:é uma ação que envia uma consulta inteira. A Ação de segmento, por exemplo, é uma ação no nível da consulta.
  • Uma ação no nível da célula:envia o valor de uma única célula específica em uma tabela de dados. Esse tipo de ação é diferente das ações de dados, que podem ser definidas para dimensões ou medições usando o parâmetro action. Para enviar informações de uma célula específica de uma tabela, o Looker usa tags para mapear ações para as células correspondentes. As ações precisam especificar para quais tags elas são compatíveis no requiredFields. Para mapear ações e campos, os campos no LookML precisam especificar para quais tags eles são mapeados com o parâmetro tags do LookML. Por exemplo, a ação do Twilio Message usa uma tag phone para que os desenvolvedores do LookML possam controlar em quais campos de número de telefone a ação do Twilio aparecerá.
  • Uma ação no nível do painel:permite o envio da imagem de um painel. Por exemplo, a ação do SendGrid envia imagens do painel por e-mail.

Adicionar atributos do usuário a ações personalizadas

Para ações personalizadas, adicione atributos de usuário no parâmetro params do seu arquivo de ação. Se o parâmetro for obrigatório, cada usuário precisará ter um valor para esse atributo definido na conta de usuário ou em um grupo de usuários a que pertence, além da permissão send_to_integration, para que a ação seja exibida como uma opção de destino ao enviar ou programar conteúdo.

Para adicionar um atributo de usuário à sua ação:

  1. Um administrador do Looker pode precisar criar o atributo de usuário que corresponde ao user_attribute_param, se ele ainda não existir.
  2. Defina um valor válido para o atributo do usuário para usuários ou grupos de usuários que precisam enviar conteúdo para o destino da ação. Esses usuários também precisam ter permissões send_to_integration.
  3. O parâmetro params representa os campos do formulário que um administrador do Looker precisa configurar na página de ativação da ação na lista Ações do painel Administrador. No parâmetro params do arquivo de ação, inclua o seguinte:
  params = [{
    description: "A description of the param.",
    label: "A label for the param.",
    name: "action_param_name",
    user_attribute_name: "user_attribute_name",
    required: true,
    sensitive: true,
  }]

em que user_attribute_name é o atributo do usuário definido no campo Nome da página Atributos do usuário na seção Usuários do painel Administrador, required: true significa que um usuário precisa ter um valor válido e não nulo definido para esse atributo do usuário para ver a ação quando os dados estão sendo entregues e sensitive: true significa que o atributo do usuário é criptografado e nunca é exibido na interface do Looker depois de inserido. É possível especificar vários subparâmetros de atributos do usuário.

  1. Implante as atualizações no servidor do hub de ações.
    • Se você estiver adicionando uma ação, um administrador do Looker vai precisar ativar a ação clicando no botão Ativar ao lado da ação na página Ações no painel Administrador.
    • Se você estiver atualizando uma ação, clique no botão Atualizar para atualizar a lista de ações. Em seguida, clique no botão Configurações.
  2. Na página de configurações/ativação de ações, um administrador do Looker precisa configurar os campos do formulário da ação para extrair informações do atributo do usuário clicando no ícone de atributo do usuário à direita do campo apropriado e selecionando o atributo.

Parâmetros requiredField em ações no nível da célula

Para ações no nível da célula, configure os campos do LookML do seu modelo para enviar dados ao destino da ação especificando quais tags ela aceita no parâmetro requiredFields do arquivo de ação.

Parâmetro Obrigatório Descrição Tipo de dados
tag No Se presente, corresponde a um campo que tem essa tag. string
any_tag No Se presente, substitui tag e corresponde a um campo que tem qualquer uma das tags fornecidas. string
all_tags No Se presente, substitui tag e corresponde a um campo que tem todas as tags fornecidas. string

Formatos de dados compatíveis

A classe DataActionRequest define qual formato de entrega de dados está disponível para a ação trabalhar. Para ações no nível da consulta, a solicitação contém um anexo que pode estar em vários formatos. A ação pode especificar um ou mais supportedFormats ou permitir que o usuário escolha o formato especificando todos os formatos possíveis. Para ações no nível da célula, o valor da célula estará presente em DataActionRequest.

Como configurar uma ação para o OAuth

Você pode configurar sua ação para que os usuários possam se autenticar na ação com OAuth. Mesmo que o Looker Action Hub precise permanecer sem estado, é possível aplicar um estado usando uma solicitação de formulário da API Looker Action.

Fluxo do OAuth para ações do Looker

Para ações no Looker Action Hub, você pode estender um OAuthAction em vez de um Hub.Action para definir um booleano que indica quais métodos OAuth são necessários para autenticar um usuário em uma ação. Para cada ação ativada para OAuth ou com estado, o Looker armazena um estado por ação por usuário, de modo que cada ação e combinação de usuários tenha um evento OAuth independente.

O fluxo para criar ações normalmente envolve uma solicitação /form seguida por uma /execute. Para OAuth, a solicitação /form precisa ter um método para determinar se o usuário está autenticado no serviço de destino. Se o usuário já estiver autenticado, a ação retornará um /form normal de acordo com o que a solicitação /execute exigir. Se o usuário não estiver autenticado, a ação retornará um link que inicializará um fluxo do OAuth.

Como salvar o estado com o URL OAuth

O Looker vai enviar uma solicitação POST HTTP com um corpo vazio para o endpoint ActionList. Se a ação retornar uses_oauth: true na definição, ela vai receber um state_url de uso único em cada solicitação de /form do Looker. O state_url é um URL especial de uso único que define o estado de um usuário para uma determinada ação.

Se o usuário não estiver autenticado com o endpoint, o /form retornado precisará conter um form_field do tipo oauth_link que vai para o endpoint /oauth de uma ação. O state_url precisa ser criptografado e salvo como um parâmetro state no oauth_url retornado. Exemplo:

{
        "name": "login",
        "type": "oauth_link",
        "label": "Log in",
        "description": "OAuth Link",
        "oauth_url": "ACTIONHUB_URL/actions/my_action/oauth?state=encrypted_state_url"
}

Neste exemplo, o endpoint /oauth redireciona o usuário para o servidor de autenticação. O endpoint /oauth constrói o redirecionamento no método oauthUrl(...) em uma ação do OAuth, conforme mostrado no OauthUrl da caixa de depósito.

O parâmetro state que contém o state_url criptografado precisa ser transmitido para o Looker Action Hub.

Como salvar o estado com o URI de redirecionamento do hub de ações

No endpoint /oauth, um redirect_uri para o hub de ações também é criado e transmitido para o método oauthUrl(...) da ação. Esse redirect_uri está no formato /actions/src/actions/my_maction/oauth_redirect e é o endpoint usado se a autenticação retornar um resultado.

Esse endpoint vai chamar o método oauthFetchInfo(...), que precisa ser implementado pelo método OauthAction para extrair as informações necessárias e tentar receber ou salvar qualquer estado ou auth recebido do servidor de autenticação.

O state descriptografa o state_url criptografado e o usa para enviar o state por POST de volta ao Looker. Na próxima vez que um usuário solicitar essa ação, o estado recém-salvo será enviado ao Looker Action Hub.

Adicionando seus arquivos de ação ao repositório do Looker Action Hub

Depois que seu arquivo de ação for gravado, no repositório do Hub de ações do Looker:

  1. Adicione o arquivo de ação (por exemplo, my_action.ts) a actions/src/actions/index.ts.

    import "./my_action/my_action.ts"
    
  2. Adicione todos os requisitos de pacote do Node.js que você usou na gravação da ação. Exemplo:

    yarn add aws-sdk
    yarn add express
    
  3. Instale as dependências do Node.js do servidor do Looker Action Hub.

    yarn install
    
  4. Execute todos os testes que você criou.

yarn test

Como testar uma ação

Para um teste completo, hospede um servidor hub de ação particular para executar a ação na sua instância do Looker. Esse servidor precisa estar na Internet pública com um certificado SSL válido e ser capaz de iniciar e receber conexões ou solicitações HTTPS de e para o Looker. Para isso, é possível usar uma plataforma baseada em nuvem, como o Heroku, conforme mostrado no exemplo a seguir. Como alternativa, use qualquer plataforma que atenda aos requisitos mencionados acima.

Como configurar um servidor do hub de ações locais

Neste exemplo, vamos realizar a ação que desenvolvemos no repositório looker-open-source/actions/src/actions do GitHub e confirmar o código em uma nova ramificação do Git. Recomendamos que você trabalhe em recursos usando ramificações para acompanhar seu código e, se quiser, criar facilmente um PR com o Looker.

  1. Para começar, crie a ramificação, organize e confirme o trabalho. Exemplo:

    git checkout -b my-branch-name
    git add file-names
    git commit -m commit-message
    
  2. Neste exemplo, para enviar uma ramificação ao Heroku, configure seu repositório Git com o Heroku como uma opção remota na linha de comando:

    heroku login
    heroku create
    git push heroku
    
  3. O Heroku retornará o URL público que agora hospeda o hub de ações para seu uso. Acesse o URL ou execute heroku logs para confirmar se o hub de ações está em execução. Se você esquecer o URL público, execute o seguinte na linha de comando:

    heroku info -s | grep web_url
    

    O Heroku retornará seu URL público. Exemplo: https://my-heroku-action-server-1234.herokuapp.com

  4. Na linha de comando, defina o URL base do hub de ações:

    heroku config:set ACTION_HUB_BASE_URL="https://my-heroku-action-server-1234.herokuapp.com"
    
  5. Defina o marcador do hub de ações:

    heroku config:set ACTION_HUB_LABEL="Your Action Hub"
    
  6. O Looker usa um token de autorização para se conectar ao hub de ações. Gere o token na linha de comando:

    heroku run yarn generate-api-key
    

    Se você não usar o Heroku, como estamos nesse exemplo, use:

    yarn generate-api-key
    

    O Heroku retornará seu token de autorização. Exemplo: Authorization: Token token="abcdefg123456789"

  7. Defina o secret do hub de ações usando a chave secreta:

    heroku config:set ACTION_HUB_SECRET="abcdefg123456789"
    

    As implantações hospedadas pelo cliente podem exigir a configuração de variáveis de ambiente adicionais não documentadas aqui.

  8. Para adicionar a ação à sua instância local do Looker, acesse Administrador > Ações.

    • Na parte de baixo da lista de ações, clique em Adicionar central de ações.
    • Insira o URL do hub de ações e, opcionalmente, uma Chave secreta.
    • Encontre sua ação na lista Ações do menu Administrador do Looker.
    • Selecione Ativar.

Se a ação exigir que tipos específicos de dados sejam transmitidos do Looker, configure os modelos para incluir o parâmetro tags apropriado.

Agora está tudo pronto para você testar sua ação.

Como testar ações no nível do painel e da consulta

Na instância do Looker, configure o modelo do LookML com tags, se necessário. Crie e salve um Look. No Look salvo, clique no menu no canto superior direito e selecione Enviar com sua ação como destino. Se você tiver um formulário para entrega, o Looker vai processá-lo na janela Sent (Enviado).

Clique em Enviar teste para enviar os dados. O status da ação será exibido no Histórico do programador, no painel Administrador. Se encontrar um erro, ele vai aparecer no painel Administrador, e o Looker vai enviar um e-mail com a mensagem de erro para o usuário que enviou a ação.

Como testar ações no nível da célula

Configurar um campo LookML com as tags adequadas para a ação. Na instância do Looker, execute uma consulta que inclua esse campo. Encontre o campo na tabela de dados. Clique em na célula e selecione no menu suspenso. Se você receber erros, será necessário fazer uma atualização completa na tabela de dados depois de resolvê-los.

Publicar e ativar uma ação personalizada

Há duas opções de publicação para ações personalizadas:

Depois que a ação for publicada, você poderá ativá-la na página Ações do painel Administrador.

Publicar no Looker Action Hub

Essa abordagem é a mais fácil e funciona para qualquer ação que você queira disponibilizar para qualquer pessoa que use o Looker.

Depois que sua ação for testada, envie um PR para o repositório looker-open-source/actions no GitHub.

  1. Digite este comando:

    git push <your fork> <your development branch>
    
  2. Crie sua solicitação de envio com o repositório looker-open-source/actions como destino.

  3. Preencha o formulário de envio do Looker Marketplace e do Action Hub. Para mais informações sobre os requisitos do formulário, consulte Como enviar conteúdo para o Marketplace do Looker.

    O Looker vai analisar seu código de ação. Reservamo-nos o direito de recusar sua declaração de relações públicas, mas podemos ajudá-lo com quaisquer problemas que você tiver e oferecer sugestões de melhoria. Em seguida, mesclamos o código no repositório looker-open-source/actions e o implantamos em actions.looker.com. Quando o código for implantado, ele vai ficar disponível para todos os clientes do Looker.

  4. Ative a ação na sua instância do Looker para que ela apareça como uma opção de entrega de dados.

Como publicar em um servidor de hub de ações particular

Se você tiver ações personalizadas que são particulares da sua empresa ou caso de uso, não adicione sua ação ao repositório looker-open-source/actions. Em vez disso, crie um hub de ações particular com o mesmo framework Node.js usado para testar sua ação.

É possível configurar o servidor interno do hub de ações na própria infraestrutura ou em uma plataforma de aplicativos baseada na nuvem (nosso exemplo usou o Heroku). Não se esqueça de bifurcar o Hub de ações do Looker para o servidor do hub de ações particulares antes da implantação.

Configurar um modelo do LookML para uso com uma ação

Para ações personalizadas e aquelas disponíveis no Looker Action Hub, você precisa identificar os campos de dados relevantes usando o parâmetro tags no modelo LookML. A página Ações no painel Administrador fornecerá informações sobre as tags necessárias para o serviço, se houver.

Por exemplo, uma integração do Twilio Send Message envia uma mensagem para uma lista de números de telefone. Na página Ações do painel Administrador, a integração exibe o subtexto "A ação pode ser usada com consultas que têm um campo marcado com phone".

Isso significa que o serviço Twilio Send Message requer uma consulta que inclua um campo de número de telefone e que use o parâmetro tags para identificar qual campo na consulta contém números de telefone. Para identificar um campo de número de telefone no LookML, especifique tags: ["phone"] para esse campo. O LookML para um campo de número de telefone pode ter esta aparência:

dimension: phone {
  tags: ["phone"]
  type: string
  sql: ${TABLE}.phone ;;
}

Uma integração que não requer tags vai mostrar o subtexto "A ação pode ser usada com qualquer consulta" na página Ações do painel Administrador.

Identifique todos os campos obrigatórios no modelo LookML com o parâmetro tags para que seus usuários possam usar o serviço para enviar dados.

A seguir

Saiba como enviar o conteúdo de um Look ou uma Análise ou de um painel para um serviço integrado.