ação

Uso

do Google AdWords. da namoro.
Hierarquia
action
Tipos de campo possíveis
Dimensão, medida

Valor padrão
Nenhuma

Aceita
Vários parâmetros

Regras especiais
  • O URL de form_url precisa ser acessível ao servidor do Looker e usar HTTPS com um certificado válido.
  • O URL de icon_url precisa ser acessível ao navegador do usuário

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âmetro user_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.