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:
- Use as ações atuais do Looker disponíveis no Hub de ação do Looker (em inglês).
- Crie e publique uma ação personalizada no Hub de ação do Looker para uso público.
- Crie e publique uma ação personalizada em um servidor de hub de ação particular para uso particular.
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:
- Da instância do Looker para a rede do hub de ações do Looker
- 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 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>
. Opublic_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 tempublic_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
e35.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
e35.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:
- Como configurar um repositório de desenvolvimento
- Como gravar sua ação
- Testar sua ação
- 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.
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 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" . |
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 comrequiredFields
. 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 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:
- 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. - 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
. - 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çã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.
- 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.
- 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:
Adicione o arquivo de ação (por exemplo,
my_action.ts
) aactions/src/actions/index.ts
.import "./my_action/my_action.ts"
Adicione os requisitos de pacote do 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 no servidor do hub de ações do Looker.
yarn install
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.
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
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
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
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"
Defina o rótulo do hub de ação:
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 Heroku, como estamos neste exemplo, use:
yarn generate-api-key
O Heroku retornará o token de autorização. Exemplo:
Authorization: Token token="abcdefg123456789"
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.
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.
- Se a ação for exibida sem erros, você poderá publicá-la.
- Se você quiser continuar hospedando sua ação com privacidade, publique-a no hub de ação particular.
- Se você quiser publicar sua ação para que todos os clientes do Looker usem, consulte a seção Como 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 Looker Action Hub: sua ação ficará disponível para qualquer pessoa que use o Looker.
- Publicar um servidor do hub de ações particulares: a ação fica disponível apenas na sua instância do Looker.
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.
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 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 noactions.looker.com
. Depois de implantado, o código 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 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:
- Enviar uma célula de dados
- Oferecer um painel ou consulta completo (de um recurso Olhar ou Explorar)
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:
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.
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:
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.