Compartilhar dados em um hub de ações

Além de fornecer conteúdo aos 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 por um servidor de hub de ação.

As ações veiculadas por meio de um servidor do hub de ações são diferentes das ações de dados, que são definidas pelo parâmetro LookML action.

Nesta página, você verá as opções para criar ações personalizadas que podem ser solicitadas para adicionar ao Looker Action Hub ou adicionar seu próprio servidor de hub de ação particular. Nesta página, também descrevemos como ativar um servidor de hub de ações local para testar suas ações personalizadas ou executar um servidor de hub de ação particular.

O gráfico abaixo ilustra as opções de fluxo de trabalho disponíveis para integrar ações usando um hub de ações hospedado de modo privado ou o hub de ações hospedado pelo Looker:

Depois que a ação for adicionada ao hub de ações, um administrador do Looker poderá ativá-la para uso na entrega de conteúdo do Looker nesses serviços.

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

Hub de ações do Looker

O Looker hospeda e fornece o Looker Action Hub, um servidor sem estado que implementa a API Looker Action e expõe as ações mais usadas. Todos os dados que os usuários enviarem usando uma ação serão processados temporariamente no servidor do hub de ações do Looker, e não na instância do Looker.

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

Requisitos do Looker Action Hub

Para usar as integrações do Looker, o hub de ações do Looker precisa se comunicar com a instância do Looker e atender a estes requisitos. Os administradores de instâncias hospedadas pelo cliente talvez precisem considerar outros fatores ao ativar as integrações do Looker no Hub de ações do Looker, especialmente integrações que oferecem suporte a resultados transmitidos ou que usam o OAuth.

O hub de ações do Looker precisa enviar e receber solicitações de API das seguintes maneiras:

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

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

As solicitações para actions.looker.com são resolvidas em um endereço IP dinâmico. As solicitações enviadas da instância do Looker precisam alcançar estes 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 Action Hub do Looker

O navegador do usuário do Looker precisa fazer solicitações para estes 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 hub de ações do Looker precisa fazer solicitações à instância do Looker para ações que oferecem suporte a resultados transmitidos ou que usam OAuth.

Uma ação de streaming permite que a consulta consuma consultas que entregam Todos os resultados. As ações ativadas pelo OAuth usam a autenticação por usuário com fluxos do OAuth 2.0. As ações do OAuth precisam armazenar credenciais de usuário na instância de origem do Looker, porque o hub de ações do Looker é sem estado e multilocatário, e não vai armazenar 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 no local da instância do Looker antes de serem enviados ao Hub de ação do Looker. Por isso, o hub de ações do Looker precisa conseguir resolver o <host_looker_url> para um endereço IP e fazer solicitações na rede em que sua instância do Looker reside.

O Looker Action Hub tem endereços IP de saída estáticos de onde as solicitações sempre virão: 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 IPs precisam adicionar esses endereços IP para usar ações compatíveis com os resultados transmitidos ou o OAuth.

Considerações sobre instâncias hospedadas pelo cliente

Para usar as integrações do Looker, o hub de ações do Looker precisa se comunicar com a instância do Looker e atender a estes requisitos. Isso não é possível com as 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 do Looker não for possível, o Looker Action Hub poderá apresentar um comportamento inesperado ou indesejável, como consultas pendentes ou ações indisponíveis.

Para resolver o possível problema do hub de ações do Looker e não conseguir se comunicar com a instância do Looker, os administradores do Looker podem implementar uma das soluções apresentadas abaixo. A solução adequada ou a combinação delas depende da arquitetura da instância do Looker:

  • Se a instância hospedada pelo cliente não puder ser resolvida pelo Hub de ações do Looker, ou seja, não for possível receber solicitações da instância, os administradores do Looker podem consultar o gerente de contas do Looker 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 aos administradores especificar um nome de host <public_host_url> que pode ser resolvido, diferente da instância <host_looker_url>. O public_host_url substitui o nome do host de alguns URLs específicos de callback do Looker Action Hub e os encaminha por um proxy reverso que tem public_host_url como um nome publicamente resolvido. Esse proxy reverso aceita solicitações somente dos endereços IP de saída estáticos do 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 dos quais o Hub de ação do Looker 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 Hub de ações do Looker não pode enviar solicitações à instância do Looker, os usuários talvez não consigam configurar ou usar ações que oferecem suporte a resultados transmitidos ou que usem o OAuth. Para resolver isso, os administradores do Looker precisam adicionar à lista de permissões os endereços IP de saída de onde o Hub de ação do Looker faz solicitações para a instância do Looker: 35.153.89.114, 104.196.138.163 e 35.169.42.87.

  • Se nenhuma das soluções mencionadas acima for apropriada 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 transmitidos ou que usam o OAuth.

  • Para implantar um hub de ações hospedado pelo cliente, é necessário garantir que o arquivo JAR esteja hospedado em um servidor público para que o hub de ações do Looker possa se comunicar com ele. No entanto, o Looker não recomenda essa solução.

Também é possível que as ações de OAuth e streaming não sejam utilizáveis em uma instância do Looker hospedada pelo cliente se a instância usar um certificado SSL emitido por uma autoridade de certificação (CA, na sigla em inglês) que não esteja nesta lista.

Como criar uma ação personalizada

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

Você pode criar uma ação personalizada das seguintes maneiras:

  1. Como configurar um repositório de desenvolvimento
  2. Como gravar sua ação
  3. Testar sua ação
  4. Publique e ative sua ação no hub de ações do Looker ou no seu próprio servidor de hub de ações particulares

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

Como configurar um repositório de desenvolvimento

O hub de ações do Looker é 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ê conhece bem o JavaScript, a maior parte da linguagem TypeScript deve ser familiar para você.

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

  • Node.js
  • Gerenciador de versões do nó (NVM, para selecionar a versão correta do Node.js)
  • Yarn (para gerenciar dependências)

Depois de instalar o software necessário, estará tudo pronto para configurar o ambiente de desenvolvimento. O exemplo abaixo 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 sua ação. Consulte o repositório do Actions do GitHub para ver um exemplo de estrutura de arquivos.

O Looker recomenda adicionar também:

  • Um README para explicar a finalidade e os meios de autenticação da sua ação
  • Ícone do PNG para exibir no Hub de ação do Looker (ou hub de ação particular na sua instância do Looker) e nas janelas de entrega de dados do Looker
  • Os arquivos dos testes que você quer executar no código de ação são diferentes do teste da ação.

Gravar uma ação

Um requisito de design para o servidor do Action Hub do Looker é que ele permanece completamente sem estado. Portanto, não é permitido armazenar nenhuma informação no app ou serviço de ação. Todas as informações necessárias para realizar a ação precisam ser fornecidas nas chamadas de solicitação do arquivo de ação.

O conteúdo exato do arquivo de ações 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 da 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 sua ação. Há também um método /form que pode ser usado para coletar informações adicionais do usuário antes da execução da ação. Os campos especificados em /form aparecerão no pop-up Enviar ou Programar quando os usuários selecionarem a ação como destino para a entrega de dados.

Se você estiver usando a API Looker Action, o formato desses parâmetros pode ser diferente.

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

Parâmetro Obrigatória Descrição Tipo de dado
name Yes Um nome exclusivo para a ação. Ele deve ser único em todas as ações no Looker Action Hub. string
url Yes Um URL absoluto do endpoint /execute para essa ação. string
label Yes Um rótulo legível para a ação. string
supportedActionTypes Yes Uma lista dos 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 em formato de string para cada parâmetro. Esses são os campos que aparecem na página de ativação da ação no painel Administrador. Para gerenciar como os usuários podem enviar dados a um destino de ação, especifique um atributo do usuário para o qual um usuário precisa ter um valor definido. parameters
supportedFormats No Uma lista dos formatos de dados aceitos pela 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 dos campos obrigatórios com os quais esta ação é compatível. Se houver várias entradas nessa lista, a ação 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 usesStreaming = true, então supportedDownloadSettings = url. Se usesStreaming = false, então supportedDownloadSettings = push. Booleano
usesOAuth No Um booleano que determina se a ação é uma ação do OAuth. Isso determinará se a ação receberá um link de uso único para definir state como o usuário específico da ação. Booleano
usesStreaming No Um booleano que determina se a ação é compatível com os resultados da consulta transmitidos. Marque a coluna É possível fazer streaming de resultados sim/não na lista de serviços integrados. As ações que fazem streaming de resultados podem exigir a configuração de um servidor de hub de ação local. Consulte o artigo Como configurar um hub de ação local para ações que usam OAuth ou streaming na Central de Ajuda do Looker para mais informações. Booleano
minimumSupportedVersion No A versão mínima do Looker em que a ação aparecerá na lista do hub de ações do administrador. string

Veja exemplos do Action Hub do Looker no GitHub (em inglês) para referência.

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 segmentação, por exemplo, é uma ação de consulta.
  • Uma ação no nível da célula: 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 medidas usando o parâmetro action. Para enviar informações de uma célula específica em uma tabela, o Looker usa tags para mapear ações para as células correspondentes. As ações precisam especificar quais tags são compatíveis com 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 de mensagem do Twilio 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:é possível enviar uma imagem de um painel no nível do 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 do usuário no parâmetro params do seu arquivo de ações. 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 ele pertence, além da permissão send_to_integration, para ver a ação como uma opção de destino ao enviar ou programar conteúdo.

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

  1. Pode ser necessário que um administrador do Looker crie o atributo de usuário correspondente ao user_attribute_param, se ele ainda não existir.
  2. Defina um valor válido para o atributo de usuários para os usuários ou grupos 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:
  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 não nulo e válido definido para esse atributo do usuário para ver a ação ao entregar dados, e sensitive: true significa que o atributo do usuário é criptografado e nunca exibido na IU do Looker depois de inserido. É possível especificar vários subparâmetros de atributo do usuário.

  1. Implante as atualizações no servidor do hub de ações.
    • Se você estiver adicionando uma nova ação, um administrador do Looker precisará ativá-la 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 existente, clique no botão Refresh para atualizar a lista de ações. Em seguida, clique no botão Configurações.
  2. Na página de configurações/ativação da ação, um administrador do Looker precisa configurar os campos de formulário da ação para extrair informações do atributo do usuário. Para fazer isso, clique no ícone do atributo de usuário à direita do campo apropriado e selecione o atributo do usuário desejado.

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

Para ações no nível da célula, é possível configurar os campos LookML do seu modelo para exibir dados ao destino da ação especificando quais tags são compatíveis com a ação no parâmetro requiredFields do arquivo de ação.

Parâmetro Obrigatória Descrição Tipo de dado
tag No Quando presente, corresponde a um campo que contém essa tag. string
any_tag No Se estiver presente, substituirá tag e corresponde a um campo que tem uma das tags fornecidas. string
all_tags No Se estiver presente, substituirá tag e corresponde a um campo que tem todas as tags fornecidas. string

Formatos de dados compatíveis

A classe DataActionRequest define com qual formato de entrega de dados está disponível para que a ação funcione. 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 de célula, o valor da célula vai estar presente em DataActionRequest.

Configurar uma ação para o OAuth

As ações ativadas pelo OAuth não podem ser configuradas no Hub de ações do Looker para instâncias do Looker que têm o recurso Lista de permissões de IPs ativado ou que não podem acomodar os requisitos do Hub de ações do Looker. Consulte o artigo Como configurar um hub de ações local para ações que usam OAuth ou streaming na Central de Ajuda do Looker para mais informações sobre como configurar uma ação para o OAuth.

Você pode configurar sua ação para que os usuários façam a autenticação com o OAuth. Embora o Hub de ações do Looker precise permanecer sem estado, é possível aplicar um estado usando uma solicitação de formulário da API Looker Action.

Fluxo do OAuth da ação do Looker

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

O fluxo para criar ações geralmente envolve uma solicitação /form seguida por uma solicitação /execute. Para OAuth, a solicitação /form deve 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 vai retornar um /form normal de acordo com o que a solicitação /execute exige. Se o usuário não estiver autenticado, a ação retornará um link que inicializará um fluxo de OAuth.

Salvar o estado com o URL OAuth

O Looker envia uma solicitação POST HTTP com um corpo vazio para o endpoint ActionList. Se a ação retornar uses_oauth: true na definição, a ação receberá um state_url de uso único em cada solicitação /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 precisa conter um form_field do tipo oauth_link que vá para o endpoint /oauth de uma ação. O state_url precisa ser criptografado e salvo como 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 cria o redirecionamento no método oauthUrl(...) em uma ação OAuth, conforme mostrado em Dropbox OauthUrl.

O parâmetro state que contém o state_url criptografado precisa ser transmitido para o Hub de ação do Looker.

Salvar o estado com o URI de redirecionamento do hub de ação

No endpoint /oauth, um redirect_uri do hub de ação também é criado e transmitido para o método oauthUrl(...) do action. 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 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 POSTAR state no Looker. Na próxima vez que um usuário fizer uma solicitação para essa ação, o estado salvo recentemente será enviado para o Looker Action Hub.

Como adicionar arquivos de ação ao repositório do Looker Action Hub

Depois de escrever o arquivo de ação, no repositório do Looker Action Hub:

  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 os requisitos de pacote do Node.js que você usou na escrita da ação. Exemplo:

    yarn add aws-sdk
    yarn add express
    
  3. Instale as dependências do Node.js no servidor do hub de ações do Looker.

    yarn install
    
  4. Execute os testes que você gravou.

yarn test

Como testar uma ação

Para testar por completo, tente realizar uma ação na sua instância do Looker hospedando um servidor de hub de ação particular. 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, você pode usar uma plataforma baseada em nuvem, como o Heroku, como mostrado no exemplo a seguir, ou qualquer plataforma que atenda aos requisitos mencionados acima.

Como configurar um servidor de hub de ação local

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

  1. Para começar, crie sua ramificação e, em seguida, organize e confirme seu 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 para o Heroku, configure o repositório do 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 hospeda o hub de ações para uso. Acesse o URL ou execute heroku logs para confirmar que 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ção:

    heroku config:set ACTION_HUB_BASE_URL="https://my-heroku-action-server-1234.herokuapp.com"
    
  5. Defina o rótulo do hub de ação:

    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 estiver usando Heroku, como estamos neste exemplo, use:

    yarn generate-api-key
    

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

  7. Defina o secret do hub de ação usando a chave do secret:

    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 sua ação na instância local do Looker, acesse Administrador > Ações.

    • Na parte inferior da lista de ações, clique em Adicionar hub de ações.
    • Insira o URL do hub de ação e, se quiser, uma chave secreta.
    • Encontre sua ação na lista Ações no menu Administrador do Looker.
    • Clique em Ativar.

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

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

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

Na instância do Looker, configure seu modelo LookML com tags, se necessário. Crie e salve um visual. Na aparência salva, clique no menu no canto superior direito e selecione Send, com sua ação como destino. Se você tiver um formulário para entrega, o Looker o renderizará na janela Enviados.

Clique em Enviar teste para enviar os dados. O status da ação será exibido em Histórico do programador no painel Administrador. Se sua ação encontrar um erro, ela será exibida no painel Administrador. O Looker 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

Configure um campo LookML com as tags adequadas para sua 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 Enviar 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 da publicação da ação, você pode ativá-la na página Ações do painel Administrador.

Como publicar no Looker Action Hub

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

Depois que sua ação for testada, envie uma 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 Hub e de ação. Para mais informações sobre os requisitos do formulário, consulte Como enviar conteúdo para o Looker Marketplace.

    O Looker analisará seu código de ação. Reservamo-nos o direito de recusar sua RP, mas podemos ajudar com quaisquer problemas que você tenha e oferecer sugestões de melhoria. Em seguida, mesclamos o código no repositório looker-open-source/actions e o implantamos no actions.looker.com. Depois de implantado, o código 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 para entrega de dados.

Como publicar em um servidor de hub de ação particular

Se você tiver ações personalizadas privadas para 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 particulares com o mesmo framework do Node.js que você usou para testar a ação.

Você pode configurar o servidor do hub de ação interno na sua própria infraestrutura ou usar uma plataforma de aplicativos baseada na nuvem (nosso exemplo usa o Heroku). Não se esqueça de bifurcar o Looker Action Hub para seu servidor de hub de ação particular antes da implantação.

Como configurar um modelo LookML para usar com uma ação

Para ações personalizadas e ações disponíveis no Looker Action Hub, você precisa identificar os campos de dados relevantes usando o parâmetro tags no seu modelo do LookML.

A página Ações no painel Administrador fornecerá informações sobre as tags necessárias para o serviço, se houver. Exemplo:

A integração com o Zapier afirma que ele funciona com qualquer consulta. Não é necessário adicionar o parâmetro tags a um campo no seu modelo LookML.

No entanto, o serviço Twilio Send Message envia uma mensagem para uma lista de números de telefone. Ela exige uma consulta que inclui um campo de número de telefone e usa 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 campo LookML para um número de telefone pode ser semelhante a este:

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

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

Exibição de dados com uma ação

Os dados podem ser fornecidos de várias maneiras, dependendo do nível em que a ação opera. As ações funcionam no nível do campo, da consulta ou do painel e podem funcionar em um ou mais níveis. Cada ação listada na página Ações do painel Administrador tem uma descrição de como ela é usada. É possível:

Entregando dados de célula

As ações no campo são indicadas na página Ações do painel Administrador por uma descrição que inclua "quot;Action can be with fields" or with a Sim na coluna Can Use from Fields da lista de serviços integrados.

As ações no nível do campo são projetadas para entregar uma célula de dados ao serviço especificado. Elas funcionam de forma semelhante às ações de dados, exceto por serem veiculadas pela API Looker Action. Em vez de definir um parâmetro action do LookML para uma dimensão ou medida, você precisa configurar o modelo do LookML adicionando tag aos campos relevantes com as informações fornecidas na coluna Tags desta ação na lista de serviços integrados.

Depois de ativar os serviços e os campos de inclusão de tag no modelo do LookML, é possível:

  1. Veja os dados que você quer enviar em uma análise, um painel ou uma exploração. Se o serviço especificar "Action pode ser usado com consultas que tenham um campo marcado...", sua consulta ou um dos blocos do painel de controle precisará incluir um ou mais campos com as tags necessárias.

  2. O campo marcado em cada célula da aparência, do bloco do painel ou de Explorar conterá uma lista suspensa, indicada por reticências (...). Clique nas reticências para ver as ações disponíveis para esse link:

  3. Na seção AÇÕES, clique no serviço em que você quer receber os dados da linha.

Fornecer dados de painel ou consulta

As ações no nível da consulta são indicadas na página Ações do painel Administrador por uma descrição que inclui "Ação pode ser usada com consultas que têm um campo marcado como..." ou "Ação pode ser usada com qualquer consulta." De acordo com a coluna Pode enviar ou programar na lista de serviços integrados, você pode exibir Cada linha (em uma aparência ou uma exploração). As ações no nível da consulta são projetadas para entregar todos os resultados da consulta de um recurso Explorar ou Olhar para o serviço especificado.

As ações no nível do painel são indicadas na página Ações do painel Administrador por uma descrição que inclui "Ação pode ser usada com qualquer painel." De acordo com a coluna Pode enviar ou programar na lista de serviços integrados, você pode exibir Um painel. As ações no nível do painel são projetadas para entregar um painel ao serviço especificado.

Ative o serviço e, se necessário, marque os campos no modelo LookML.

Para fornecer uma interface ou uma exploração, consulte a página de documentação Como fornecer aparências e explorações.

Para entregar painéis, consulte as páginas de documentação Como fornecer painéis legados e Como programar e enviar painéis.