acción

Uso

Nota:
Jerarquía
action
Tipos de campos posibles
Dimensión, Medición

Valor predeterminado
Ninguna

Acepta
Varios parámetros

Reglas especiales
  • El servidor de Looker debe poder acceder a la URL de form_url con un certificado válido
  • El navegador del usuario debe poder acceder a la URL de icon_url.

Definición

El parámetro action crea una acción de datos que permite a los usuarios realizar tareas a nivel de campo en otras herramientas, directamente desde Looker. Por ejemplo, la acción puede hacer que se envíe un correo electrónico, que se establezcan valores en otras aplicaciones o que realice cualquier otra acción que se pueda configurar para que realice un servidor receptor. El servidor receptor debe poder aceptar una solicitud POST en JSON.

Puede definir un action para una dimensión o una medida. Luego, para acceder a la acción, haz clic en su campo cuando esté en una página Explorar, un aspecto o un panel:

Cuando defines un action, debes especificar el comportamiento deseado con los siguientes parámetros:

Parámetro Descripción
label Una string que especifica el nombre de la acción tal como aparecerá para los usuarios en el menú Acción.
url Una string que especifica la URL para procesar la acción. Si se especifica una [Lista de URL permitidas para las acciones de datos](/admin-options/settings/general#url_allowlist_for_data_actions, debes agregar este valor url a la lista de entidades permitidas. Solo se permiten URL que coincidan con el patrón de la lista de entidades permitidas en las acciones de datos. Si no hay entradas existentes, se permiten todas las URL para las acciones de datos.
icon_url Es una string que especifica una URL que contiene un archivo de imagen para que los usuarios puedan comprender, de un vistazo, este vínculo con más facilidad. El valor del icon_url debe ser accesible para el navegador del usuario.
form_url Es una string que especifica una URL que mostrará un formulario a los usuarios. El formulario debe presentarse en un formato JSON como se describe en la sección Especifica el comportamiento de los formularios mediante form_url o form_param en esta página. El servidor de Looker debe poder acceder a form_url y usar HTTPS con un certificado válido.
param Pasa un valor al servidor de recepción.
form_param Agrega una entrada de formulario que se mostrará para esta acción.
user_attribute_param Pasa un atributo de usuario al servidor receptor. Debes agregar el valor url de la acción de datos a la lista de URL permitidas para las acciones de datos si usas un user_attribute_param para tu acción de datos.

Al igual que una acción de datos, también puedes usar una acción a nivel de campo disponible en Looker Action Hub para enviar datos desde una celda específica. Consulta la sección Considera usar el Action Hub de Looker en esta página para obtener más información sobre esta opción.

Pasa atributos del usuario al servidor de destino con user_attribute_param

Puedes enviar atributos de usuario al servidor de destino mediante el parámetro user_attribute_param. Dentro de cada user_attribute_param, deberás especificar los siguientes subparámetros:

Parámetro Tipo Descripción
user_attribute ID de Looker El nombre del atributo de usuario en Looker
name String El nombre del atributo como deseas que aparezca en la carga útil de JSON

Pasa valores al servidor de recepción con param

Puedes enviar datos arbitrarios en tu carga útil JSON con el parámetro param. Dentro de cada param, deberás especificar los siguientes subparámetros:

Parámetro Tipo Descripción
name String Nombre de un parámetro que se pasará al servidor de destino
value String Valor de un parámetro para pasar al servidor de recepción

No pases datos sensibles ni información privada, como credenciales de usuario, en el parámetro param. En su lugar, establece las credenciales de usuario como un atributo de usuario en la configuración del administrador y pasa esta información en el parámetro user_attribute_param.

Especifica el comportamiento del formulario con form_url o form_param

Puedes crear un formulario para que los usuarios de Looker interactúen con él y, luego, enviar la entrada correspondiente en tu carga útil JSON. Si muestra un formulario, aparecerá como una superposición en la página (Explorar, Mirar, Panel o Panel heredado) en la que se activó la acción. Puedes hacerlo con el parámetro form_url o form_param.

Si quieres que tu servidor de Action Hub defina el diseño del formulario, usa el parámetro form_url. El archivo form_url debe contener una URL que muestre una representación JSON del formulario, como se describe más adelante en esta página.

Si deseas definir el diseño del formulario directamente en LookML, usa el parámetro form_param.

Opciones de formulario

En ambos casos, las opciones posibles que puedes usar para definir el formulario son las siguientes:

Opción Tipo Descripción
name String El nombre del valor tal como aparecerá en tu carga útil JSON
type Tipo de entrada El tipo de campo del formulario que se mostrará al usuario:
select - muestra una lista desplegable
string - muestra un campo de entrada de una sola línea
textarea - muestra un cuadro de entrada de texto de varias líneas
label String La etiqueta para la entrada tal como aparecerá para los usuarios
description String Una descripción del campo que se mostrará a los usuarios, si lo desean.
required Booleano Especifica si el usuario debe proporcionar la opción de formulario antes de enviar el formulario.
default String El valor inicial del campo del formulario, si corresponde
option String Si eliges un type de select, define las opciones de selección aquí

Si configuras type en select, especifica los elementos en la lista desplegable mediante option. Cada option incluye los siguientes detalles:

Opción Tipo Descripción
name String Nombre del valor del formulario como aparecerá en tu carga útil JSON
label String La etiqueta de la opción tal como aparecerá para los usuarios (opcional)

Cómo usar una acción de datos sin un formulario

Si no incluyes un parámetro form_url o form_param en tu definición de action, la acción de datos no incluirá un formulario. En ese caso, la acción envía una solicitud cuando un usuario hace clic en ella desde el menú Acciones.

Después de hacer clic en una acción sin un formulario, el menú Acciones muestra los íconos a la izquierda de la acción para indicar su estado:

  • Aparecerá un ícono de carga que muestra que se está ejecutando la acción.
  • Aparecerá una marca de verificación que indica que se ejecutó la acción.
  • Aparecerá un círculo i, que indica que la acción falló.

Si no aparece ningún ícono a la izquierda de una acción, quiere decir que no se activó.

Respuestas del servidor

Una respuesta HTTP correcta se considerará una acción exitosa.

El servidor también puede pasar algunas opciones a Looker con respecto al éxito de la acción. Si la solicitud de webhook responde con JSON, Looker busca una clave looker especial en la respuesta. Se ignora todo lo demás. Por ejemplo, en:

{
  "my_apps_business_logic": "something",
  "looker": {
    "success": true,
    "refresh_query": true
  }
}

Aquí la configuración predeterminada de success es true y la configuración de success como false indicará en Looker que la solicitud falló. Además, refresh_query se establece de forma predeterminada en false y, si se establece en true, se volverá a ejecutar la consulta actual de Looker y se omitirá la caché.

También puede responder con errores de validación para cualquier parámetro de formulario transmitido:

{
  "looker": {
    "success": false,
    "validation_errors": {
      "body": "Body must be more than 10 characters long."
    }
  }
}

El valor predeterminado de validation_errors es {}. Debe ser un objeto JSON en el que las claves sean los nombres de los parámetros del formulario y el valor sea una string que represente un mensaje de error para ese parámetro.

Ejemplos

Si usas el parámetro form_url (en este ejemplo, con la sintaxis líquida), todas las opciones se deben mostrar en un objeto JSON. Por ejemplo:

dimension: foo {
  action: {
    label: "Send a Thing"
    url: "https://example.com/ping/\{{ value \}}"
    form_url: "https://example.com/ping/\{{ value \}}/form.json"
  }
}

El servidor debe mostrar una representación JSON de un formulario que coincide con 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",
  }
]

Si usas el parámetro form_param, las opciones se usan como parámetros de LookML. Por ejemplo:

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"
}

Considera usar el Action Hub de Looker

El parámetro action es una buena opción si aún no tienes un servidor configurado para recibir tus solicitudes de acciones o si deseas implementar un caso de uso con reutilización limitada. Sin embargo, te recomendamos que uses las acciones a nivel de campo disponibles en el Centro de acciones de Looker. (Asegúrate de que la instancia cumpla con estos requisitos).

Además de las integraciones existentes de Looker Action Hub, puedes seguir las instrucciones de la página de documentación de Action Hub para crear tu propia acción personalizada.