Uso
Jerarquía
action |
Tipos de campos posibles
Dimensión, MediciónValor predeterminado
NingunaAcepta
Varios parámetrosReglas especiales
|
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ámetrouser_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 desplegablestring - muestra un campo de entrada de una sola líneatextarea - 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.