Uso
Hierarquia
action |
Tipos de campo possíveis
Dimensão, medidaValor padrão
NenhumaAceita
Vários parâmetrosRegras especiais
|
Definição
O parâmetro action
cria uma ação de dados que permite aos usuários realizar tarefas de campo em outras ferramentas diretamente do Looker. Por exemplo, a ação pode fazer com que um e-mail seja enviado, definir valores em outros aplicativos ou executar qualquer outra ação que você possa configurar para ser feita pelo servidor de recebimento. O servidor de recebimento precisa aceitar um POST JSON.
Você pode definir um action
para uma dimensão ou medida. Em seguida, a ação pode ser acessada ao clicar no campo dela em uma página "Explorar", um Look ou um painel:
Ao definir um action
, especifique o comportamento desejado usando os seguintes parâmetros:
Parâmetro | Descrição |
---|---|
label |
Uma string que especifica o nome da ação como ela aparecerá para os usuários no menu de ações. |
url |
Uma string que especifica o URL para processar a ação. Se uma [lista de permissões de URL para ações de dados](/admin-options/settings/general#url_allowlist_for_data_actions for especificada, adicione o valor url à lista de permissões. Somente os URLs que correspondem ao padrão de lista de permissões são permitidos para qualquer ação de dados. Se não houver entradas, todos os URLs serão permitidos para ações relacionadas aos dados. |
icon_url |
Uma string que especifica um URL que contém um arquivo de imagem para facilitar o entendimento dos usuários por um link direto. O valor icon_url precisa ser acessível ao navegador do usuário. |
form_url |
Uma string que especifica um URL que retornará um formulário para apresentar aos usuários. O formulário precisa ser apresentado em um formato JSON, conforme descrito na seção Como especificar o comportamento do formulário usando form_url ou form_param nesta página. O form_url precisa ser acessível ao servidor do Looker e usar HTTPS com um certificado válido. |
param |
Transmite um valor para o servidor de recebimento. |
form_param |
Adiciona uma entrada de formulário que será exibida para esta ação. |
user_attribute_param |
Transmite um atributo do usuário para o servidor de recebimento. É necessário adicionar o valor url da ação de dados à lista de permissões de URL para ações de dados se você estiver usando um user_attribute_param para sua ação de dados. |
Assim como acontece com uma ação de dados, você também pode usar uma ação no campo disponível no Looker Action Hub para enviar dados de uma célula específica. Consulte a seção Considerar o uso do hub de ações do Looker nesta página para mais informações sobre essa opção.
Como transmitir atributos do usuário para o servidor de recebimento usando user_attribute_param
É possível enviar atributos de usuários ao servidor de recebimento usando o parâmetro user_attribute_param
. Em cada user_attribute_param
, especifique os seguintes subparâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
user_attribute |
ID do Looker | O nome do atributo do usuário no Looker. |
name |
String | O nome do atributo como você quer que ele apareça no payload JSON |
Como transmitir valores para o servidor de recebimento usando param
É possível enviar dados arbitrários no payload JSON usando o parâmetro param
. Em cada param
, especifique os seguintes subparâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
name |
String | Nome de um parâmetro a ser transmitido para o servidor de recebimento |
value |
String | Valor de um parâmetro a ser transmitido para o servidor de recebimento |
Não transmita dados confidenciais ou informações particulares, como credenciais de usuário, no parâmetro
param
. Em vez disso, defina as credenciais como um atributo nas configurações do administrador e transmita essas informações para o parâmetrouser_attribute_param
.
Como especificar o comportamento do formulário usando form_url
ou form_param
É possível criar um formulário para os usuários do Looker interagirem e enviar entradas de formulário no payload JSON. Se você exibir um formulário, ele vai aparecer como uma sobreposição na página (Explorar, Visualização, Painel ou Painel legado) em que a ação foi acionada. Faça isso com o parâmetro form_url
ou form_param
.
Se você quiser que o servidor do hub de ações defina o layout do formulário, use o parâmetro form_url
. O form_url
precisa conter um URL que retorne uma representação JSON do formulário, conforme descrito mais adiante nesta página.
Se você quiser definir o layout do formulário diretamente no LookML, use o parâmetro form_param
.
Opções do formulário
Nos dois casos, as opções que você pode usar para definir o formulário são as seguintes:
Opção | Tipo | Descrição |
---|---|---|
name |
String | O nome do valor como vai aparecer no payload JSON |
type |
Tipo de entrada | O tipo de campo do formulário que será exibido ao usuário:select : exibe uma lista suspensa;string exibe um campo de entrada de linha única.textarea : exibe uma caixa de entrada de texto de várias linhas. |
label |
String | O rótulo da entrada como ela será exibida para os usuários. |
description |
String | Uma descrição do campo que vai aparecer aos usuários, se você quiser |
required |
Booleano | Especifica se a opção de formulário deve ser fornecida pelo usuário antes do envio do formulário |
default |
String | O valor inicial do campo do formulário, se houver |
option |
String | Se você escolher um type de select , defina as opções de seleção aqui |
Se você definir type
como select
, especifique itens na lista suspensa usando option
. Cada option
inclui os seguintes detalhes:
Opção | Tipo | Descrição |
---|---|---|
name |
String | Nome do valor do formulário como ele aparecerá no payload JSON |
label |
String | O rótulo da opção como ela aparecerá para os usuários (opcional) |
Como usar uma ação de dados sem um formulário
Se você não incluir um parâmetro form_url
ou form_param
na sua definição de action
, a ação de dados não vai incluir um formulário. Nesse caso, a ação envia uma solicitação quando um usuário clica nessa ação no menu Ações.
Depois que uma ação sem um clique em um formulário é exibida, o menu Ações exibe ícones à esquerda da ação para indicar o estado:
- Um ícone de carregamento é exibido, mostrando que a ação está em execução.
- Uma marca de seleção indica que a ação foi executada.
- Um i circulado aparece, indicando que a ação falhou.
Se nenhum ícone aparecer à esquerda de uma ação, ela não foi acionada.
Respostas do servidor
Uma resposta HTTP bem-sucedida será considerada uma ação bem-sucedida.
O servidor também pode retornar algumas opções ao Looker em relação ao sucesso da ação. Se a solicitação do webhook responder com JSON, o Looker procura uma chave looker
especial na resposta. Todo o restante é ignorado. Por exemplo, em:
{
"my_apps_business_logic": "something",
"looker": {
"success": true,
"refresh_query": true
}
}
Aqui, o padrão de success
é true
, e definir success
como false
vai indicar no Looker que a solicitação falhou. Além disso, refresh_query
será definido como false
por padrão e definido como true
para executar novamente a consulta atual do Looker, ignorando o cache.
Também é possível responder com erros de validação para os parâmetros de formulário que foram transmitidos:
{
"looker": {
"success": false,
"validation_errors": {
"body": "Body must be more than 10 characters long."
}
}
}
Aqui, o valor padrão de validation_errors
é {}
. Ele precisa ser um objeto JSON em que as chaves são os nomes dos parâmetros do formulário e o valor é uma string que representa uma mensagem de erro para esse parâmetro.
Examples
Se você usar o parâmetro form_url
(com Sintaxe líquida neste exemplo), todas as opções precisarão ser retornadas em um objeto JSON. Exemplo:
dimension: foo {
action: {
label: "Send a Thing"
url: "https://example.com/ping/\{{ value \}}"
form_url: "https://example.com/ping/\{{ value \}}/form.json"
}
}
O servidor precisa retornar uma representação JSON de um formulário que corresponda ao LookML:
[
{
"name": "title",
"type": "select",
"label": "desired label name",
"description": "description text",
"required": true,
"default": "value string",
"options": [
{
"name": "name string"
"label": "desired label name"
},
{
"name": "name string"
"label": "desired label name"
}
]
},
{
"name": "title",
"type": "textarea",
"label": "desired label name",
"description": "description text",
"required": true,
"default": "value string",
}
]
Se você usar o parâmetro form_param
, as opções serão usadas como parâmetros LookML. Exemplo:
form_param: {
name: "title"
type: select
label: "desired label name"
option: {
name: "name string"
label: "desired label name"
}
required: yes
description: "description text"
default: "value string"
}
Considere usar o hub de ações do Looker
O parâmetro action
é uma boa opção se você ainda não tem um servidor configurado para receber suas solicitações de ação ou se quer implementar um caso de uso com reutilização limitada. No entanto, considere usar as ações no nível do campo disponíveis no Hub de ações do Looker. Verifique se a instância atende a estes requisitos.
Além das integrações do hub de ações do Looker, você também pode criar sua própria ação personalizada seguindo as instruções na página de documentação do hub de ações.