Além de enviar conteúdo aos destinos integrados do Looker, é possível usar ações, também chamadas de integrações, para enviar conteúdo a serviços de terceiros integrados ao Looker por um servidor hub de ações.
Esta página traz orientações sobre as opções de criação de ações personalizadas que você pode solicitar para adicionar ao Looker Action Hub ou adicionar ao seu próprio servidor hub de ações particulares. Esta página também descreve como ativar um servidor do hub de ações locais para testar suas ações personalizadas ou executar um servidor do hub de ações particulares.
Para começar a usar ações, você pode:
- Use as ações atuais do Looker disponíveis no Hub de ações do Looker.
- Crie e publique uma ação personalizada no Looker Action Hub para uso público.
- Crie e publique uma ação personalizada em um servidor do hub de ações particulares para uso particular.
Depois que a ação é adicionada ao hub, um administrador do Looker pode enable a ação para enviar conteúdo do Looker a esses serviços.
Também é possível configurar vários hubs de ações se você quiser usar as integrações do Looker no Looker Action Hub e 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.
Central de ações do Looker
O Looker hospeda e fornece o Looker Action Hub, um servidor sem estado que implementa a API Action do Looker e expõe as ações mais usadas. Todos os dados que os usuários enviam usando uma ação são processados temporariamente no servidor do Hub de ações do Looker e não na sua instância do Looker.
O Looker já está 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 existentes.
Requisitos do Looker Action Hub
O Looker Action Hub precisa ser capaz de enviar e receber solicitações de API das seguintes maneiras:
- Da instância do Looker para a rede do Looker Action Hub
- Do navegador do usuário do Looker para a rede do Looker Action Hub
- Da rede do Looker Action Hub para a instância do Looker
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 sua instância do Looker, configure um servidor do hub de ações locais para exibir integrações do Looker ou ações personalizadas particulares. Os administradores de instâncias hospedadas pelo cliente também podem implantar um servidor de ação local especificamente para ações de streaming e OAuth.
Solicitações da instância do Looker para a rede do Looker Action Hub
As 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 atingir 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 para os 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 Hub de ações do Looker precisa fazer solicitações à instância do Looker para ações com suporte a resultados transmitidos 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 é sem estado e multilocatário e não armazena credenciais específicas do usuário de qualquer tipo.
As solicitações do Looker Action Hub para uma instância do Looker têm as seguintes formas:
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 na instância do Looker antes de serem enviados ao Looker Action Hub. Por isso, o Looker Action Hub precisa resolver o <host_looker_url>
para um endereço IP e fazer solicitações na rede em que a instância do Looker está.
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 IP precisam adicionar esses endereços IP para usar ações compatíveis com resultados de streaming ou que usem OAuth.
Considerações para instâncias hospedadas pelo cliente
Para usar integrações com o Looker, o Looker Action Hub precisa se comunicar com a instância do Looker e atender a estes requisitos. 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 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 Looker Action Hub, que não consegue se comunicar com a instância do Looker, os administradores do Looker podem implementar uma das soluções mostradas mais adiante nesta página. A solução ou combinação apropriada depende da arquitetura da instância do Looker:
Se a instância hospedada pelo cliente não for resolvida pelo Looker Action Hub, ou seja, o Looker Action Hub não puder receber solicitações da instância do Looker, os administradores do Looker vão poder 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 aos administradores especificar um nome de host<public_host_url>
resolvível diferente da instância<host_looker_url>
. Opublic_host_url
substitui o nome do host de alguns URLs de callback específicos do Looker Action Hub e encaminha esses URLs de callback usando um proxy reverso que tem opublic_host_url
como um nome que pode ser resolvido publicamente. Esse proxy reverso aceita solicitações apenas dos endereços IP estáticos de saída 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 usados pelo Looker Action Hub para fazer solicitações à instância do Looker:35.153.89.114
,104.196.138.163
e35.169.42.87
.Se o URL da instância hospedada pelo cliente for resolvido pela instância do Looker, mas o Looker Action Hub não puder enviar solicitações à instância do Looker, talvez os usuários não consigam configurar ou usar ações que oferecem suporte a resultados transmitidos por streaming ou que usam o OAuth. Para resolver esse problema, os administradores do Looker precisam adicionar à lista de permissões os endereços IP de saída usados pelo Hub de ações do Looker para fazer solicitações à instância do Looker:
35.153.89.114
,104.196.138.163
e35.169.42.87
.Se nenhuma das soluções acima for adequada para a arquitetura de instâncias do Looker, os administradores do Looker vão poder 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, o arquivo JAR precisa estar hospedado em um servidor público para que o Looker Action Hub se comunique com ele. No entanto, essa solução não é recomendada.
Além disso, as ações de OAuth e 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 está nesta lista de certificados raiz.
Como criar uma ação personalizada
Nesta seção, descrevemos as etapas a serem seguidas para escrever e testar uma ação personalizada usando o código-fonte do Looker Action Hub. Para conferir exemplos de código funcionais, verifique as ações atuais no repositório looker-open-source/actions
(link em inglês) no GitHub.
Para criar uma ação personalizada, faça o seguinte:
- Como configurar um repositório de desenvolvimento
- Como escrever sua ação
- Como testar sua ação
- Publicar e ativar sua ação no Looker Action Hub ou no seu próprio servidor do hub de ações particulares
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 o 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
- Gerenciador de versões de nós (NVM: para selecionar a versão adequada do Node.js)
- Yarn (para gerenciar dependências)
Depois de instalar o software necessário, você estará pronto para configurar seu ambiente de desenvolvimento. Nosso exemplo abaixo usa o Git.
Clone o repositório
looker-open-source/actions
localmente:git clone git@github.com:looker-open-source/actions.git
Crie um diretório com o nome da sua ação no diretório
actions/src/actions
. Exemplo:mkdir actions/src/actions/my_action
Comece a preencher o diretório com os arquivos necessários para executar sua ação. Consulte o repositório de ações no GitHub (em inglês) para ver um exemplo de estrutura de arquivos.
O Looker também recomenda que você também adicione o seguinte:
- Um README para explicar o propósito e os meios de autenticação para sua ação
- Um ícone PNG a ser mostrado no Looker Action Hub (ou 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 código de ação. É 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 completamente sem estado. Portanto, não é permitido armazenar informações no aplicativo ou serviço de ação. Qualquer informação necessária para realizar a ação precisa ser fornecida 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 os formatos de visualização ou dados que precisam ser especificados. A ação também pode ser configurada para fluxos de autorização do OAuth 2.0.
Os arquivos de ações 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 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 de ele executar a ação. Os campos especificados em /form
aparecem 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ções, inclua pelo menos os seguintes parâmetros marcados como Obrigatório 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 com suporte. 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 da 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 para um destino de ação, especifique um atributo do usuário que precisa ter 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" , "json_detail" |
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 os quais essa 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 será enviada um URL de download único para facilitar o streaming ilimitado de dados. Ele é 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 é uma ação OAuth. Isso vai determinar se a ação vai receber um link de uso único para definir o state de um usuário específico. |
Booleano |
usesStreaming |
No | Um booleano que determina se a ação é compatível com os 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 de 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 "Hub de ações" do painel Administrador. | string |
Alguns exemplos das ações do Looker Action Hub estão no GitHub para referência.
Tipos de ação compatíveis
O Looker é compatível com 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 na célula: uma ação na célula envia o valor de uma única célula específica de 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 de 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 norequiredFields
. Para mapear ações e campos, os campos no LookML precisam especificar para quais tags eles são mapeados com o parâmetrotags
do LookML. Por exemplo, a ação de mensagem do Twilio usa uma tagphone
para que os desenvolvedores do LookML possam controlar em quais campos de número de telefone a ação do Twilio será exibida. - Uma ação no nível do painel:uma ação no nível do painel é compatível com o envio de uma 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 do usuário ao 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 para um grupo de usuários ao qual 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 do usuário à ação:
- Um administrador do Looker pode precisar criar o atributo de usuário que corresponde ao
user_attribute_param
, se ele ainda não existir. - Defina um valor válido para o atributo do usuário para os 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
. - 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âmetroparams
do arquivo de ações, 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 não nulo e válido definido para esse atributo para ver a ação quando os dados forem enviados, 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.
- 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. Para isso, clique no botão Ativar ao lado dela na página Ações do painel Administrador.
- Se você estiver atualizando uma ação existente, atualize sua lista de ações clicando no botão Atualizar. Em seguida, clique no botão Configurações.
- 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. Para isso, clique no ícone à direita do campo e selecione a opção desejada.
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 modelo para enviar dados a esse destino de ação especificando quais tags sua ação 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. Para ações no nível da consulta, a solicitação conterá 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 o OAuth. O Looker Action Hub precisa permanecer sem estado, mas é possível aplicar um estado usando uma solicitação de formulário da API Looker Action.
Fluxo de OAuth de ação do Looker
Para ações no Hub de ações do Looker, é possível 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 estado, o Looker armazena um estado por usuário e por ação, de modo que cada ação e combinação de usuário 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
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 OAuth.
Como salvar o estado com o URL OAuth
O Looker vai enviar uma solicitação POST HTTP com corpo vazio para o endpoint ActionList
. Se a ação retornar uses_oauth: true
na definição, a ação vai 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 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, como mostrado no OauthUrl da caixa de depósito.
O parâmetro state
que contém esse state_url
criptografado precisa ser transmitido para o Hub de ações do Looker.
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
tem o 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 POSTAR state
de volta no Looker. Na próxima vez que um usuário solicitar essa ação, o estado recém-salvo vai ser enviado ao Looker Action Hub.
Como adicionar seus arquivos de ação ao repositório do Looker Action Hub
Depois que o arquivo de ação for gravado, no repositório do Looker Action Hub:
Adicione o arquivo de ações (por exemplo,
my_action.ts
) aactions/src/actions/index.ts
.import "./my_action/my_action.ts"
Adicione todos os requisitos de pacote Node.js que você usou na escrita da ação. Exemplo:
yarn add aws-sdk yarn add express
Instale as dependências do Node.js do servidor do Looker Action Hub.
yarn install
Execute todos os testes que você criou.
yarn test
Testar uma ação
Para fazer um teste completo, teste a ação na instância do Looker hospedando um servidor do hub de ações particulares. 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, é possível usar qualquer plataforma que atenda aos requisitos mencionados acima.
Como configurar um servidor do hub de ações locais
Neste exemplo, vamos executar 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 rastrear facilmente seu código e, se quiser, criar um PR com o Looker.
Para começar, crie uma ramificação e, em seguida, prepare e confirme seu trabalho. Exemplo:
git checkout -b my-branch-name git add file-names git commit -m commit-message
Neste exemplo, para enviar uma ramificação ao Heroku, configure o repositório Git com o Heroku como uma opção remota na linha de comando:
heroku login heroku create git push heroku
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. Por exemplo:
https://my-heroku-action-server-1234.herokuapp.com
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"
Definir o identificador do hub de ações:
heroku config:set ACTION_HUB_LABEL="Your Action Hub"
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 o Heroku, como neste exemplo, use:
yarn generate-api-key
O Heroku retornará seu token de autorização. Por exemplo:
Authorization: Token token="abcdefg123456789"
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 outras variáveis de ambiente não documentadas aqui.
Adicione a ação à instância local do Looker em Administrador > Ações.
- Na parte de baixo da lista de ações, clique em Add Action Hub.
- Insira o URL do hub de ações e, se quiser, uma chave secreta.
- Encontre sua ação na lista Ações no menu Administrador do Looker.
- Selecione Ativar.
Se a ação exigir que tipos específicos de dados sejam transmitidos do Looker, configure todos os modelos para incluir o parâmetro tags
adequado.
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 o modelo LookML com tags, se necessário. Crie e salve um Look. No Look salvo, clique no menu no canto superior direito e selecione Send com sua ação como destino. Se você tiver um formulário para envio, o Looker vai renderizá-lo na janela Enviados.
Clique em Send Test para enviar os dados. O status da ação será exibido em Histórico do programador no painel Administrador. Se houver um erro na sua ação, 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
Configure 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, precisará fazer uma atualização completa na tabela de dados depois de corrigir esses erros.
- Se a ação for entregue sem erros, está tudo pronto para publicar a ação.
- Se você quiser manter a hospedagem particular, publique no hub de ações privadas.
- Se você quiser publicar sua ação para uso de todos os clientes do Looker, consulte a seção Publicação no Looker Action Hub.
Publicar e ativar uma ação personalizada
Há duas opções de publicação para ações personalizadas:
- Publicação no Hub de ações do Looker: disponibiliza sua ação para qualquer pessoa que usa o Looker.
- Publicar em um servidor hub de ações privadas: disponibiliza a ação apenas na sua instância do Looker.
Depois que sua ação for publicada, será possível ativá-la na página Ações do painel Administrador.
Como 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, será possível enviar um PR para o repositório looker-open-source/actions
no GitHub.
Digite este comando:
git push <your fork> <your development branch>
Crie sua solicitação de envio com o repositório
looker-open-source/actions
como destino.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 o código da ação. Reservamo-nos o direito de recusar seu RP, mas podemos ajudá-lo com quaisquer problemas que você tenha e oferecer sugestões de melhoria. Em seguida, mesclaremos o código no repositório
looker-open-source/actions
e o implantaremos emactions.looker.com
. Depois que o código for implantado, ele vai ficar disponível para todos os clientes do Looker.Ative a ação na sua instância do Looker para que ela apareça como uma opção de entrega de dados.
Publicar em um servidor hub de ações particulares
Se você tiver ações personalizadas que são 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 usando o mesmo framework Node.js usado para testar sua ação.
É possível configurar o servidor interno do hub de ações na sua própria infraestrutura ou usando uma plataforma de aplicativos baseada na nuvem (nosso exemplo usou o Heroku). Não se esqueça de bifurcar o Looker Action Hub para seu servidor do hub de ações particular antes da implantação.
Como configurar um modelo LookML para uso 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 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 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 mostra 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 exige uma consulta que inclua um campo de número de telefone e que use o parâmetro tags
para identificar qual campo da 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 de 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 exige tags exibirá o subtexto "A ação pode ser usada com qualquer consulta" na página Ações do painel Administrador.
Identifique os campos obrigatórios no modelo LookML com o parâmetro tags
para que os usuários possam usar o serviço e enviar dados.
A seguir
Saiba como enviar o conteúdo de um Look ou Explore ou de um painel para um serviço integrado.