Além de entregar conteúdo aos destinos integrados do Looker, é possível usar ações, também chamadas de integrações, para entregar conteúdo a serviços de terceiros integrados ao Looker por um servidor de hub de ações.
Nesta página, você vai conhecer as opções para criar ações personalizadas que podem ser adicionadas ao Action Hub do Looker ou ao seu próprio servidor de Action Hub particular. Esta página também descreve como ativar um servidor de 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 ações, você pode:
- Use as ações disponíveis no hub de ações do Looker.
- Crie e publique uma ação personalizada no hub de ações do Looker para uso público.
- Crie e publique uma ação personalizada em um servidor de hub de ações privadas para uso particular.
Depois que a ação é adicionada à central de ações, um administrador do Looker pode ativá-la para uso na entrega de 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 Hub de ações do Looker e hospedar suas próprias ações particulares ou personalizadas. As ações de cada hub aparecem na página Ações do painel Administrador.
A central de ações do Looker
O Looker hospeda e fornece a central de ações do Looker, um servidor sem estado que implementa a API Action do Looker e expõe ações populares. Todos os dados que seus 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.
Requisitos da central de ações do Looker
A Central de ações do Looker precisa enviar e receber solicitações de API das seguintes maneiras:
- Da instância do Looker para a rede da central de ações do Looker
- Do navegador do usuário do Looker para a rede da central de ações do Looker
- Da rede da central de ações do Looker para a instância do Looker
Se a implantação do Looker não puder atender a essas solicitações ou se o recurso Lista de permissões de IP estiver ativado na sua instância do Looker, considere configurar um servidor de hub de ações local para disponibilizar 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ções locais especificamente para ações de OAuth e streaming.
Solicitações da instância do Looker para a rede da central de ações do Looker
As solicitações para actions.looker.com
são resolvidas para um endereço IP dinâmico. As solicitações de saída 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 da central de ações do Looker.
O navegador do usuário do Looker precisa conseguir fazer solicitações aos seguintes endpoints do Action Hub do Looker (para OAuth):
actions.looker.com/actions/<name>/oauth
em que name
é o nome programático da ação.
Solicitações da rede da central de ações do Looker para a instância do Looker.
O Action Hub do Looker precisa fazer solicitações à instância do Looker para ações que aceitam resultados transmitidos ou que usam OAuth.
Uma ação de streaming permite que a ação consuma consultas que fornecem 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 as credenciais do usuário na instância de origem do Looker porque o Action Hub é sem estado e multitenant, e não armazena credenciais específicas do usuário de nenhum tipo.
As solicitações da central de ações do Looker 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 na instância do Looker antes de serem enviados ao hub de ações do Looker. Por isso, o Action Hub do Looker precisa 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 Action Hub do Looker tem endereços IP de saída estáticos de onde as solicitações sempre vêm: 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ão de IP precisam adicionar esses endereços IP para usar ações que aceitam resultados transmitidos ou que usam 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 aos requisitos do hub de ações do Looker. Isso nem sempre é possível com instâncias do Looker hospedadas pelo cliente por vários motivos. Se não for possível estabelecer uma comunicação bidirecional entre o Action Hub do Looker e a instância do Looker, o Action Hub poderá apresentar um comportamento inesperado ou indesejado, como consultas pendentes ou ações indisponíveis.
Para resolver o possível problema de o Action Hub do Looker não conseguir se comunicar com a instância do Looker, os administradores podem implementar uma das soluções mostradas mais adiante nesta página. A solução ou combinação de soluções adequada depende da arquitetura da instância do Looker:
Se a instância hospedada pelo cliente não puder ser resolvida pelo Action Hub do Looker, ou seja, se o Action Hub não puder 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 do<host_looker_url>
da instância. Opublic_host_url
substitui o nome do host de alguns URLs de retorno de chamada específicos do Action Hub do Looker e os encaminha por um proxy reverso que tem opublic_host_url
como um nome resolvível publicamente. Esse proxy reverso aceita solicitações apenas 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 de onde o Looker Action Hub faz 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 puder ser resolvido pela instância do Looker, mas o Action Hub não conseguir enviar solicitações a ela, os usuários não poderão configurar nem usar ações que aceitam resultados transmitidos ou que usam OAuth. Para resolver isso, os administradores do Looker precisam adicionar à lista de permissões os endereços IP de saída de que o Action Hub do Looker faz solicitações à instância do Looker:
35.153.89.114
,104.196.138.163
e35.169.42.87
.Se nenhuma das soluções mencionadas for adequada para a arquitetura da instância do Looker, os administradores poderão implantar um hub de ações hospedado pelo cliente para todas as ações ou apenas para aquelas que aceitam resultados transmitidos ou usam OAuth.
Para implantar um hub de ações hospedado pelo cliente, verifique se o arquivo JAR está hospedado em um servidor público para que o hub de ações do Looker possa se comunicar 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 ela 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
Esta seção descreve as etapas para escrever e testar uma ação personalizada usando o código-fonte do Action Hub do Looker. Para ver exemplos de código funcional, confira as ações atuais no repositório looker-open-source/actions
no GitHub.
Para criar uma ação personalizada, faça o seguinte:
- Como configurar um repositório de desenvolvimento
- Como escrever sua ação
- Testar sua ação
- Publicar e ativar sua ação no Action Hub do Looker ou no seu próprio servidor de Action Hub particular.
Como em qualquer ação, talvez seja necessário configurar seus modelos LookML com parâmetros específicos antes de usar a ação para entregar seus dados.
Como configurar um repositório de desenvolvimento
O Action Hub do Looker é 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ê conhece JavaScript, a maior parte da linguagem TypeScript não será novidade.
Para executar o Action Hub do Looker, é necessário ter 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ê pode configurar o ambiente de desenvolvimento. O exemplo a seguir 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 a ação. Consulte o repositório de ações do GitHub para ver um exemplo de estrutura de arquivo.
O Looker recomenda que você também adicione o seguinte:
- Um README para explicar a finalidade e os meios de autenticação da sua ação
- Um ícone PNG para mostrar no Action Hub do Looker (ou no Action Hub particular na sua instância do Looker) e nas janelas de entrega de dados do Looker
- Todos os arquivos de testes que você quer executar no código da ação. Isso é diferente de testar sua ação.
Como escrever uma ação
Um requisito de design para o servidor do Action Hub do Looker é que ele permaneça completamente sem estado. Portanto, não é permitido armazenar informações no aplicativo ou serviço de ação. Todas as informações necessárias para concluir a 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 o nível em que a ação opera e quais formatos de dados ou 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. Um método /form
também está disponível e pode ser usado para coletar mais informações do usuário antes de executar a ação. Os campos especificados em /form
vão aparecer no pop-up Enviar ou Programar quando os usuários selecionarem a ação como destino da entrega de dados.
Ao escrever o arquivo de ação, inclua pelo menos os seguintes parâmetros marcados como Obrigatório na definição de ação:
Parâmetro | Obrigatório | Descrição | Tipo de dado |
---|---|---|---|
name |
Sim | Um nome exclusivo para a ação. Ele precisa ser exclusivo em todas as ações no Action Hub do Looker. | 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ções compatíveis. Os valores válidos são "cell" , "query" e "dashboard" . |
string |
formURL |
Não | Um URL absoluto do endpoint /form para essa ação. |
string |
description |
Não | Descrição da ação. | string |
params |
Não | Matriz de parameters para a ação. Inclua o nome, o rótulo e a descrição no 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 entregar 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 |
Não | 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 |
Não | 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 |
Não | 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 |
Não | Um URI de dados que representa uma imagem de ícone para a ação. | string |
requiredFields |
Não | Uma lista de descrições dos 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 |
Não | Um booleano que determina se a ação vai 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 |
Não | Um booleano que determina se a ação é do OAuth. Isso vai determinar se a ação vai receber um link de uso único para definir state para um usuário específico. |
Booleano |
usesStreaming |
Não | Um booleano que determina se a ação é compatível com resultados de consultas transmitidos. Verifique 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 local do Action Hub. Consulte a página de práticas recomendadas Configurar um Action Hub local para ações que usam OAuth ou streaming para mais informações. | Booleano |
minimumSupportedVersion |
Não | A versão mínima do Looker em que a ação vai aparecer na lista do Action Hub no painel Administrador. | string |
Exemplos das ações do Action Hub do Looker estão no GitHub para referência.
Tipos de ações compatíveis
O Looker oferece suporte a três tipos de ações, conforme especificado no parâmetro supportedActionTypes
da ação: consulta, célula e painel.
- Uma ação no nível da consulta: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 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 nas células correspondentes. As ações precisam especificar quais tags são compatíveis emrequiredFields
. Para mapear ações e campos, os campos no LookML precisam especificar a quais tags eles estão mapeados com o parâmetrotags
do LookML. Por exemplo, a ação de mensagem do Twilio usa uma tagphone
para que os desenvolvedores de LookML controlem em quais campos de número de telefone a ação do Twilio vai aparecer. - Uma ação no nível do painel:permite enviar uma imagem de um painel. Por exemplo, a ação do SendGrid envia imagens de painéis por e-mail.
Adicionar atributos do usuário a ações personalizadas
Para ações personalizadas, é possível adicionar atributos do usuário no parâmetro params
do 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 send_to_integration
permissão, para ver a ação como uma opção de destino ao enviar ou programar conteúdo.
Para adicionar um atributo do usuário à sua ação:
- Um administrador do Looker talvez precise criar o atributo do usuário correspondente ao
user_attribute_param
, caso ele ainda não exista. - Defina um valor válido para o atributo de usuário dos usuários ou grupos de usuários que precisam entregar conteúdo ao destino da ação. Esses usuários também precisam ter permissões
send_to_integration
. - O parâmetro
params
representa os campos de 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çã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 não nulo e válido definido para esse atributo para ver a ação quando os dados são entregues. 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 atributo 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á clicar no botão Ativar ao lado da ação na página Ações do painel Administrador.
- Se você estiver atualizando uma ação, clique no botão Atualizar para atualizar a lista. Em seguida, clique no botão Configurações.
- Na página de configurações/ativação da ação, um administrador do Looker precisa configurar os campos do formulário para extrair informações do atributo do usuário. Para isso, clique no ícone
à direita do campo apropriado e selecione o atributo 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 modelo para entregar dados ao destino da ação. Para isso, especifique 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 |
Não | Se presente, corresponde a um campo que tem essa tag. | string |
any_tag |
Não | Se presente, substitui tag e corresponde a um campo que tem qualquer uma das tags fornecidas. |
string |
all_tags |
Não | 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 vai 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 dela estará em DataActionRequest
.
Como configurar uma ação para o OAuth
Você pode configurar sua ação para que os usuários possam se autenticar nela com o OAuth. Embora o Action Hub do Looker precise permanecer sem estado, é possível impor um estado usando uma solicitação de formulário da API Looker Action.
Fluxo do OAuth de ações do Looker
Para ações no Action Hub 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 pelo OAuth ou pelo estado, o Looker armazena um estado por usuário e por ação. Assim, cada combinação de ação e usuário tem um evento independente do OAuth.
O fluxo para criar ações geralmente envolve uma solicitação /form
seguida por uma solicitação /execute
. Para o 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 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 vai retornar um link que inicializa um fluxo OAuth.
Como salvar o estado com o URL do OAuth
O Looker vai enviar uma solicitação HTTP POST 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 todas as solicitações /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 vai 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
cria o redirecionamento no método oauthUrl(...)
em uma ação do OAuth, conforme mostrado no Dropbox OauthUrl.
O parâmetro state
que contém o state_url
criptografado precisa ser transmitido para o Action Hub do Looker.
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 ao 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 enviar state
de volta ao Looker. Na próxima vez que um usuário fizer uma solicitação para essa ação, o estado recém-salvo será enviado ao Action Hub do Looker.
Adicionar seus arquivos de ação ao repositório da central de ações do Looker
Depois que o arquivo de ação for gravado, no repositório do Action Hub do Looker:
Adicione o arquivo de ação (por exemplo,
my_action.ts
) aactions/src/actions/index.ts
.import "./my_action/my_action.ts"
Adicione todos os requisitos de pacote do Node.js que você usou ao escrever a ação. Exemplo:
yarn add aws-sdk yarn add express
Instale as dependências do Node.js do servidor do hub de ações do Looker.
yarn install
Execute os testes que você escreveu.
yarn test
Testar uma ação
Para um teste completo, tente sua ação na instância do Looker hospedando um servidor de hub de ações 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 do e para o Looker. Para isso, use uma plataforma baseada na nuvem, como o Heroku, conforme mostrado no exemplo a seguir. Se preferir, use qualquer plataforma que atenda aos requisitos mencionados acima.
Como configurar um servidor de hub de ações locais
Neste exemplo, vamos usar a ação que desenvolvemos no repositório do GitHub looker-open-source/actions/src/actions
e confirmar o código em um novo branch 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 sua ramificação e, em seguida, adicione 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 seu repositório Git com o Heroku como uma opção remota na linha de comando:
heroku login heroku create git push heroku
O Heroku vai retornar o URL público que agora hospeda a central de ações para seu uso. Acesse o URL ou execute
heroku logs
para confirmar que a central 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 vai retornar seu URL público. Por exemplo:
https://my-heroku-action-server-1234.herokuapp.com
Na linha de comando, defina o URL de base do hub de ações:
heroku config:set ACTION_HUB_BASE_URL="https://my-heroku-action-server-1234.herokuapp.com"
Defina o rótulo 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 vai 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 sua ação na instância local do Looker acessando Administrador > Ações.
- Na parte de baixo da lista de ações, clique em Adicionar central de ações.
- Insira o URL da central de ações e, opcionalmente, uma chave secreta.
- Encontre sua ação na lista Ações no menu Administrador do Looker.
- Clique em 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
adequado.
Agora você já pode testar sua ação.
Testar ações no nível do painel e da consulta
Na sua instância do Looker, configure o modelo do LookML com tags, se necessário. Crie e salve uma análise detalhada. Na análise salva, 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 renderizá-lo na janela Enviado.
Clique em Enviar teste para entregar os dados. O status da ação vai aparecer no Histórico do programador no painel Administrador. Se a ação encontrar um erro, ele será mostrado 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 do LookML com as tags adequadas para sua ação. Na sua 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 corrigir esses erros.
- Se a ação for entregue sem erros, você poderá publicar a ação.
- Se você quiser continuar hospedando sua ação de forma particular, publique no seu hub de ações particular.
- Se quiser publicar sua ação para uso de todos os clientes do Looker, consulte a seção Publicar no hub de ações do Looker.
Publicar e ativar uma ação personalizada
Há duas opções de publicação para ações personalizadas:
- Publicar no hub de ações do Looker: isso disponibiliza sua ação para qualquer pessoa que usa o Looker.
- Publicar em um servidor de central de ações particular: isso disponibiliza sua ação apenas na sua instância do Looker.
Depois que sua ação for publicada, você poderá ativá-la na página Ações do painel Administrador.
Publicar na central de ações do Looker
Essa abordagem é a mais fácil e funciona para qualquer ação que você queira disponibilizar para quem usa o Looker.
Depois que sua ação for testada, envie uma solicitação de pull 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 Marketplace do Looker e do Action Hub. Para mais informações sobre os requisitos do formulário, consulte Enviar conteúdo ao Looker Marketplace.
O Looker vai analisar seu código de ação. Reservamos o direito de recusar sua PR, mas podemos ajudar com qualquer problema 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 emactions.looker.com
. Depois que o código for implantado, ele vai estar 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 de hub de ações particular
Se você tiver ações personalizadas que são particulares à sua empresa ou caso de uso, não adicione a ação ao repositório looker-open-source/actions
. Em vez disso, crie um hub de ações particular usando a mesma estrutura do Node.js que você usou para testar sua ação.
É possível configurar seu servidor de hub de ações interno 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 fazer um fork do Action Hub do Looker para seu servidor de Action Hub particular antes da implantação.
Configurar um modelo do LookML para uso com uma ação
Para ações personalizadas e ações disponíveis no Action Hub do Looker, é necessário identificar os campos de dados relevantes usando o parâmetro tags
no modelo LookML. A página Ações no painel Administrador fornece 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 subtítulo "A ação pode ser usada com consultas que têm um campo marcado como phone
".
Isso significa que o serviço Twilio Send Message exige uma consulta que inclua um campo de número de telefone e 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 em LookML, especifique tags: ["phone"]
para esse campo. Sua LookML para um campo de número de telefone pode ser assim:
dimension: phone {
tags: ["phone"]
type: string
sql: ${TABLE}.phone ;;
}
Uma integração que não exige 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 seu modelo LookML com o parâmetro tags
para que os usuários possam usar o serviço para enviar dados.
A seguir
Saiba como entregar o conteúdo de uma análise ou um detalhamento ou de um painel a um serviço integrado.