Además de entregar contenido a los destinos integrados de Looker, puedes usar acciones, también conocidas como integraciones, para entregar contenido a servicios de terceros integrados con Looker a través de un servidor de concentrador de acciones.
Las acciones que se entregan mediante un servidor de concentrador de acciones difieren de las acciones de datos, que se definen mediante el parámetro
action
de LookML.
En esta página, se explican las opciones para crear acciones personalizadas que puedes solicitar a agregar al Centro de acciones de Looker o agregarlas a tu propio servidor de Action Hub privado. En esta página, también se describe cómo iniciar un servidor de concentrador de acciones local para probar tus acciones personalizadas o ejecutar un servidor privado de concentrador de acciones.
Para comenzar a utilizar acciones, puedes hacer lo siguiente:
- Usa las acciones existentes de Looker disponibles en el Centro de acciones de Looker.
- Crea y publica una acción personalizada en el Centro de acciones de Looker para uso público.
- Crear y publicar una acción personalizada en un servidor de concentración privada de acciones para uso privado
Una vez que la acción se agrega al centro de acciones, un administrador de Looker puede habilitarla para usarla en la entrega de contenido de Looker en esos servicios.
También puedes configurar varios centros de acciones si deseas usar las integraciones de Looker a través del Centro de acciones de Looker y, además, alojar tus propias acciones privadas o personalizadas. Las acciones para cada centro de acciones aparecerán en la página Acciones del panel Administrador.
El Centro de Acciones de Looker
Looker aloja y proporciona el Centro de acciones de Looker, un servidor sin estado que implementa la API de acción de Looker y expone acciones populares. Todos los datos que envíen los usuarios con una acción se procesarán temporalmente en el servidor de Looker Action y no en la instancia de Looker.
Looker ya está integrado en varios servicios. Consulta la página de documentación de configuración del administrador: acciones para obtener información sobre cómo habilitar estos servicios existentes.
Requisitos del Centro de acciones de Looker
Para usar las integraciones de Looker, el Centro de acciones de Looker debe poder comunicarse con la instancia de Looker y cumplir estos requisitos. Es posible que los administradores de instancias alojadas por el cliente tengan que considerar factores adicionales cuando habiliten las integraciones de Looker desde el Centro de acciones de Looker, en especial las integraciones que admitan resultados transmitidos o que usen OAuth.
El Centro de Acciones de Looker debe poder enviar y recibir solicitudes a la API de las siguientes maneras:
- De la instancia de Looker a la red de Looker Action
- Del navegador del usuario de Looker a la red de Looker Action
- De la red del Centro de acciones de Looker a la instancia de Looker
Si tu implementación de Looker no admite estas solicitudes o si la función Lista de entidades permitidas de IP está habilitada en tu instancia de Looker, configura un servidor de concentrador de acciones local para entregar integraciones de Looker o acciones personalizadas privadas. Los administradores de instancias alojadas por el cliente también pueden implementar un servidor de acciones local específicamente para OAuth y las acciones de transmisión.
Solicitudes de la instancia de Looker a la red de Looker Action
Las solicitudes a actions.looker.com
se resuelven en una dirección IP dinámica. Las solicitudes salientes de la instancia de Looker deben poder llegar a estos extremos:
actions.looker.com/
actions.looker.com/actions/<name>/execute
actions.looker.com/actions/<name>/form
En el comando anterior, name
es el nombre programático de la acción.
Solicitudes del navegador del usuario de Looker a la red de Looker Action
El navegador del usuario de Looker debe poder realizar solicitudes a estos extremos del Centro de acciones de Looker (para OAuth):
actions.looker.com/actions/<name>/oauth
En el comando anterior, name
es el nombre programático de la acción.
Solicitudes de la red de Looker Action a la instancia de Looker
El Centro de Acciones de Looker debe realizar solicitudes a la instancia de Looker para las acciones que admitan resultados transmitidos o que usen OAuth.
Una acción de transmisión permite que la acción consuma consultas que entregan All Results. Las acciones habilitadas para OAuth usan la autenticación por usuario a través de los flujos de OAuth 2.0. Las acciones de OAuth deben almacenar las credenciales de los usuarios en su instancia de origen de Looker porque el Centro de acciones de Looker es sin estado y multiusuario, y no almacenará credenciales específicas del usuario de ningún tipo.
Las solicitudes del Looker Action Hub a una instancia de Looker tienen las siguientes formas:
GET <host_looker_url>/downloads/<random_40_char_token>
POST <host_looker_url>/action_hub_state/<random_40_char_token>
Estas URLs se generan en el momento de la instancia de Looker antes de enviarse al Centro de acciones de Looker. Por este motivo, Looker Action Hub debe poder resolver el <host_looker_url>
en una dirección IP y realizar solicitudes en la red en la que reside tu instancia de Looker.
El Centro de Acciones de Looker tiene direcciones IP de salida estáticas de las que las solicitudes siempre provendrán: 35.153.89.114
, 104.196.138.163
y 35.169.42.87
. Los administradores de instancias alojadas en Looker que hayan habilitado la lista de IP permitidas deben agregar estas direcciones IP para usar cualquier acción que admita los resultados transmitidos o que usen OAuth.
Consideraciones para las instancias alojadas por el cliente
Para usar las integraciones de Looker, el Centro de acciones de Looker debe poder comunicarse con la instancia de Looker y cumplir estos requisitos. Esto no siempre es posible con las instancias de Looker alojadas por el cliente, por varios motivos. Si no es posible la comunicación bidireccional entre Looker Action Hub y la instancia de Looker, es posible que Looker Action tenga un comportamiento inesperado o no deseado, como consultas colgantes o acciones no disponibles.
Para solucionar el posible problema de que Looker Action Hub no pueda comunicarse con la instancia de Looker, los administradores de Looker pueden implementar una de las soluciones que se mencionan a continuación. La solución adecuada o la combinación de soluciones dependerá de la arquitectura de la instancia de Looker:
Si la instancia alojada por el cliente no se puede resolver en el Centro de acciones de Looker (es decir, el Centro de acciones de Looker no puede recibir solicitudes de la instancia de Looker), los administradores de Looker pueden consultar a su administrador de cuentas de Looker para habilitar la función de licencia
public_host_url
. Esa función de licencia revela la opción de inicio--public-host-url
, que permite a los administradores especificar un nombre de host<public_host_url>
resuelta que es diferente de la instancia<host_looker_url>
. Elpublic_host_url
anula el nombre de host para algunas URLs específicas de devolución de llamada de Looker Action y enruta esas URLs de devolución de llamada a través de un proxy inverso que tienepublic_host_url
como un nombre que se puede resolver públicamente. Este proxy inverso solo acepta solicitudes de direcciones IP de salida estáticas para Looker Action. Los administradores de Looker que usan este método deben agregar a la lista de entidades permitidas las direcciones IP de salida desde las que Looker Action envía solicitudes a la instancia de Looker:35.153.89.114
,104.196.138.163
y35.169.42.87
.Si la instancia de Looker puede resolver la URL de la instancia alojada por el cliente, pero Looker Action no puede enviar solicitudes a la instancia de Looker, es posible que los usuarios no puedan configurar ni usar acciones que admitan resultados transmitidos o que usen OAuth. Para resolver esto, los administradores de Looker deben agregar a la lista de entidades permitidas las direcciones IP de salida desde las que el Centro de acciones de Looker realiza solicitudes a la instancia de Looker:
35.153.89.114
,104.196.138.163
y35.169.42.87
.Si ninguna de las soluciones mencionadas anteriormente es adecuada para la arquitectura de instancias de Looker, los administradores de Looker pueden implementar un centro de acciones alojado por el cliente para todas las acciones o solo para aquellas que admiten los resultados transmitidos o que usen OAuth.
Para implementar un concentrador de acciones alojado por el cliente, debes asegurarte de que el archivo JAR esté alojado en un servidor público para que el Centro de acciones de Looker pueda comunicarse con él. Sin embargo, Looker no recomienda esta solución.
Otra razón por la que es posible que no se puedan usar las acciones de transmisión y OAuth en una instancia de Looker alojada por el cliente si la instancia usa un certificado SSL emitido por una autoridad certificadora (CA) que no está en esta lista.
Cómo crear una acción personalizada
En esta sección, se describen los pasos que debes seguir para escribir y probar una acción personalizada con el código fuente de Looker Action Hub. Para ver ejemplos de código funcional, verifica las acciones existentes en el repositorio looker-open-source/actions
de GitHub.
Puedes crear una acción personalizada de las siguientes maneras:
- Configura un repositorio de desarrollo
- Cómo escribir la acción
- Cómo probar tu acción
- Publicar y habilitar tu acción, ya sea en Looker Action Hub o en tu propio servidor privado de Action Hub
Al igual que con cualquier acción, es posible que debas configurar los modelos de LookML con parámetros específicos antes de poder usar la acción para entregar tus datos.
Cómo configurar un repositorio de desarrollo
Looker Action Hub es un servidor de Node.js escrito en TypeScript, una pequeña capa sobre JavaScript moderno que agrega información de tipos para ayudar a detectar errores de programación. Si estás familiarizado con JavaScript, deberías conocer la mayor parte del lenguaje TypeScript.
Para ejecutar Looker Action Hub, se requiere el siguiente software:
- Node.js
- Administrador de versiones de Node (NVM para seleccionar la versión de Node.js adecuada)
- Yarn (para administrar dependencias)
Una vez que instales el software necesario, estarás listo para configurar tu entorno de desarrollo. En el siguiente ejemplo, se usa Git.
Clona el repositorio
looker-open-source/actions
de forma local:git clone git@github.com:looker-open-source/actions.git
Crea un directorio con el nombre de tu acción en el directorio
actions/src/actions
. Por ejemplo:mkdir actions/src/actions/my_action
Comienza a completar tu directorio con los archivos que necesitarás para ejecutar tu acción. Consulta el repositorio de GitHub de acciones para ver una estructura de archivo de ejemplo.
Looker recomienda que también agregue lo siguiente:
- Un README para explicar el propósito y los medios de autenticación de tu acción
- Ícono PNG para mostrar en el centro de acciones de Looker (o centro de acciones privado en tu instancia de Looker) y en las ventanas de entrega de datos de Looker
- Los archivos de prueba que quieras ejecutar en tu código de acción (no son lo mismo que probar la acción)
Cómo escribir una acción
Un requisito de diseño para el servidor del Action Hub de Looker es que permanece completamente sin estado, por lo que no se permite almacenar información en la aplicación o el servicio de acción. Cualquier información necesaria para completar la acción debe proporcionarse en las llamadas de solicitud del archivo de acción.
El contenido exacto del archivo de acción variará según el servicio, el tipo o nivel en el que opere la acción y los formatos de datos o visualización que se deban especificar. La acción también se puede configurar para flujos de autorización de OAuth 2.0.
Los archivos de acción se basan en el método de la API /execute
. Las solicitudes a la API de Looker reciben un DataActionRequest
cada vez que un usuario ejecuta la acción en Looker. DataActionRequest
contiene todos los datos y metadatos necesarios para ejecutar tu acción. También hay un método /form
que se puede usar para recopilar información adicional del usuario antes de que ejecute la acción. Los campos que especifiques en /form
aparecerán en la ventana emergente Send o Schedule cuando los usuarios seleccionen la acción como destino para su entrega de datos.
Si usas la API de Action Looker, el formato de estos parámetros puede parecer diferente.
Cuando escriba su archivo de acción, incluya al menos los siguientes parámetros marcados como Obligatorio en su definición de acción:
Parámetro | Requeridos | Descripción | Tipo de datos |
---|---|---|---|
name |
Sí | Un nombre único para la acción. Debe ser único en todas las acciones del Centro de acciones de Looker. | string |
url |
Sí | Es una URL absoluta del extremo /execute para esta acción. |
string |
label |
Sí | Es una etiqueta legible para la acción. | string |
supportedActionTypes |
Sí | Una lista de los tipos de acciones que admite la acción. Los valores válidos son "cell" , "query" y "dashboard" . |
string |
formURL |
No | Es una URL absoluta del extremo /form para esta acción. |
string |
description |
No | Descripción de la acción. | string |
params |
No | Es el array de parameters para la acción. Incluye el nombre, la etiqueta y la descripción en formato de string para cada parámetro. Estos son los campos que aparecen en la página de habilitación de la acción en el panel Admin. A fin de administrar la forma en que los usuarios pueden enviar datos a un destino de acción, puedes especificar un atributo de usuario para el que un usuario debe tener un valor definido. |
parameters |
supportedFormats |
No | Una lista de formatos de datos que admite la acción. Los valores válidos son "txt" , "csv" , "inline_json" , "json" y "json_detail" |
string |
supportedFormattings |
No | Una lista de opciones de formato que admite la acción. Los valores válidos son "formatted" y "unformatted" . |
string |
supportedVisualizationFormattings |
No | Una lista de opciones de formato de visualización que admite la acción. Los valores válidos son "apply" y "noapply" . |
string |
iconName |
No | Un URI de datos que representa una imagen de ícono para la acción. | string |
requiredFields |
No | Una lista de descripciones de los campos obligatorios con los que es compatible esta acción. Si la lista contiene varias entradas, la acción requiere más de un campo. | RequiredField |
supportedDownloadSettings |
No | Un valor booleano que determina si se enviará una acción a una URL de descarga de uso único para facilitar la transmisión ilimitada de datos. El parámetro se establece con el parámetro usesStreaming , que es un booleano true/false . Si es usesStreaming = true , significa supportedDownloadSettings = url . Si es usesStreaming = false , significa supportedDownloadSettings = push . |
Booleano |
usesOAuth |
No | Un valor booleano que determina si la acción es de OAuth. Esto determinará si se le enviará a la acción un vínculo de uso único con el fin de que se pueda configurar state para un usuario específico. |
Booleano |
usesStreaming |
No | Valor booleano que determina si la acción admite resultados de consulta transmitidos. Marque la columna Puede transmitir los resultados Sí/No en la lista de servicios integrados. Las acciones que transmiten resultados pueden requerir la configuración de un servidor de concentrador de acción local. Si deseas obtener más información, consulta la página Cómo configurar un centro de acción local para acciones que usan OAuth o transmisión. | Booleano |
minimumSupportedVersion |
No | La versión mínima de Looker en la que aparecerá la acción en la lista del Centro de acciones de Admin. | string |
A modo de referencia, se encuentran ejemplos de las acciones del Centro de acciones de Looker en GitHub.
Tipos de acciones admitidos
Looker admite tres tipos de acciones, como se especifica en el parámetro supportedActionTypes
de su acción: búsqueda, celda y panel.
- Acción a nivel de consulta: Es una acción que envía una consulta completa. La acción Segment, por ejemplo, es una acción a nivel de la búsqueda.
- Acción a nivel de celda: Una acción a nivel de celda envía el valor de una sola celda específica en una tabla de datos. Este tipo de acción es diferente de las acciones de datos, que se pueden definir para las dimensiones o medidas que usan el parámetro
action
. Para enviar información desde una celda específica de una tabla, Looker usa etiquetas a fin de asignar acciones a las celdas correspondientes. Las acciones deben especificar qué etiquetas admiten enrequiredFields
. Para asignar acciones y campos, los campos de LookML deben especificar las etiquetas a las que se asignan con el parámetrotags
de LookML. Por ejemplo, la acción de mensajes de Twilio usa una etiquetaphone
para que los desarrolladores de LookML puedan controlar en qué campos de número de teléfono aparecerá la acción de Twilio. - Acción a nivel de panel: Una acción a nivel de panel permite enviar una imagen de un panel. Por ejemplo, la acción de SendGrid envía imágenes del panel por correo electrónico.
Cómo agregar atributos de usuario a acciones personalizadas
Para las acciones personalizadas, puedes agregar atributos de usuario en el parámetro params
de tu archivo de acción. Si el parámetro es obligatorio, cada usuario debe tener un valor para este atributo definido en su cuenta de usuario o para un grupo de usuarios al que pertenezca, además del permiso send_to_integration
, a fin de ver la acción como una opción de destino cuando envía o programa contenido.
Para agregar un atributo de usuario a tu acción, haz lo siguiente:
- Es posible que un administrador de Looker deba crear el atributo de usuario correspondiente al
user_attribute_param
si aún no existe. - Defina un valor válido para el atributo de usuario de los usuarios o grupos de usuarios que deben publicar contenido en el destino de su acción. Estos usuarios también deben tener permisos
send_to_integration
. - El parámetro
params
representa los campos del formulario que un administrador de Looker debe configurar en la página de habilitación de la acción en la lista de Acciones del panel Administrador. En el parámetroparams
de tu archivo de acción, incluye lo siguiente:
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,
}]
En el ejemplo anterior, user_attribute_name
es el atributo de usuario definido en el campo Nombre de la página Atributos de usuario en la sección Usuarios del panel Administrador. required: true
significa que un usuario debe tener un valor no nulo y válido definido para que el atributo de usuario vea la acción cuando entrega datos, y sensitive: true
significa que el atributo de usuario está encriptado y nunca se muestra en la IU de Looker una vez que se ingresa. Puede especificar varios subparámetros de atributos de usuario.
- Implementa tus actualizaciones en el servidor del centro de acciones.
- Si agregas una acción nueva, un administrador de Looker deberá hacer clic en el botón Habilitar que se encuentra junto a la acción en la página Acciones del panel Administrador para habilitarla.
- Si desea actualizar una acción existente, haga clic en el botón Actualizar a fin de actualizar su lista de acciones. Luego, haga clic en el botón Configuración.
- En la página de configuración o habilitación de la acción, un administrador de Looker debe configurar los campos del formulario de acción para extraer información del atributo de usuario. Para ello, debe hacer clic en el ícono de atributo de usuario que se encuentra a la derecha del campo correspondiente y seleccionar el atributo de usuario deseado.
Parámetros requiredField
en acciones a nivel de la celda
Para las acciones a nivel de celda, puedes configurar los campos de LookML de tu modelo a fin de entregar datos a ese destino de acción especificando las etiquetas que tu acción admite en el parámetro requiredFields
de tu archivo de acción.
Parámetro | Requeridos | Descripción | Tipo de datos |
---|---|---|---|
tag |
No | Si está presente, coincide con un campo que tiene esta etiqueta. | string |
any_tag |
No | Si está presente, sustituye tag y coincide con un campo que tiene cualquiera de las etiquetas proporcionadas. |
string |
all_tags |
No | Si está presente, reemplaza a tag y coincide con un campo que tiene todas las etiquetas proporcionadas. |
string |
Formatos de datos compatibles
La clase DataActionRequest
define qué formato de entrega de datos está disponible para que funcione la acción. Para las acciones a nivel de consulta, la solicitud contendrá un archivo adjunto que puede estar en varios formatos. La acción puede especificar uno o más supportedFormats
o permitir que el usuario elija el formato especificando todos los formatos posibles. Para las acciones a nivel de la celda, el valor de la celda estará presente en DataActionRequest
.
Cómo configurar una acción para OAuth
Las acciones habilitadas para OAuth no se pueden configurar desde el Action de Hub de Looker para instancias de Looker que tienen habilitada la función Lista de entidades permitidas de IP o que no pueden acomodar los requisitos del Centro de acciones de Looker. Si deseas obtener más información sobre la configuración de una acción para OAuth, consulta la página de configuración de un centro de acciones local para acciones que usan OAuth o transmisión.
Puedes configurar tu acción para que los usuarios puedan autenticarse en la acción con OAuth. Aunque Looker Action Hub debe permanecer sin estado, puedes aplicar un estado a través de una solicitud de formulario desde la API de Looker Action.
Flujo de OAuth de acción de Looker
En el caso de las acciones de Looker Action Hub, puedes extender un OAuthAction
en lugar de un Hub.Action
a fin de establecer un booleano que indique qué métodos de OAuth se necesitan para autenticar un usuario en una acción. Para cada acción habilitada para OAuth o para el estado, Looker almacena un estado por usuario y por acción, de modo que cada combinación de acción y usuario tenga un evento de OAuth independiente.
Por lo general, el flujo para crear acciones implica una solicitud /form
seguida de una solicitud /execute
. En el caso de OAuth, la solicitud /form
debe tener un método para determinar si el usuario se autenticó en el servicio de destino. Si el usuario ya se autenticó, la acción debe mostrar un /form
normal de acuerdo con lo que requiera la solicitud /execute
. Si el usuario no está autenticado, la acción muestra un vínculo que inicializará un flujo de OAuth.
Cómo guardar el estado con la URL de OAuth
Looker enviará una solicitud HTTP POST con un cuerpo vacío al extremo ActionList
. Si la acción muestra uses_oauth: true
en su definición, se enviará una state_url
de uso único en cada solicitud /form
de Looker. state_url
es una URL especial de un solo uso que establece el estado de un usuario para una acción determinada.
Si el usuario no se autentica con el extremo, la /form
que se muestra debe contener un form_field
de tipo oauth_link
que dirige al extremo /oauth
de una acción. state_url
debe encriptarse y guardarse como un parámetro state
en el oauth_url
que se muestra. Por ejemplo:
{
"name": "login",
"type": "oauth_link",
"label": "Log in",
"description": "OAuth Link",
"oauth_url": "ACTIONHUB_URL/actions/my_action/oauth?state=encrypted_state_url"
}
En este ejemplo, el extremo /oauth
redirecciona al usuario al servidor de autenticación. El extremo /oauth
construye el redireccionamiento en el método oauthUrl(...)
en una acción de OAuth, como se muestra en Dropbox OauthUrl.
El parámetro state
que contiene ese state_url
encriptado debe pasarse al Centro de acciones de Looker.
Cómo guardar el estado con el URI de redireccionamiento del centro de acciones
En el extremo /oauth
, también se crea un redirect_uri
para el centro de acciones y se pasa al método oauthUrl(...)
de la acción. Este redirect_uri
tiene el formato /actions/src/actions/my_maction/oauth_redirect
y es el extremo que se usa si la autenticación muestra un resultado.
Este extremo llamará al método oauthFetchInfo(...)
, que debe implementarse mediante el método OauthAction
para extraer la información necesaria y, luego, intentar recibir o guardar cualquier estado o auth
recibido del servidor de autenticación.
El state
desencripta el state_url
encriptado y lo usa para PUBLICAR state
de nuevo en Looker. La próxima vez que un usuario realice una solicitud para realizar esa acción, el estado recién guardado se enviará al Looker Action Hub.
Agrega tus archivos de acción al repositorio de Action Hub de Looker
Una vez que tu archivo de acción esté escrito, haz lo siguiente en el repositorio de Action Action de Looker:
Agrega el archivo de acción (por ejemplo,
my_action.ts
) aactions/src/actions/index.ts
.import "./my_action/my_action.ts"
Agrega los requisitos del paquete de Node.js que usaste cuando escribiste tu acción. Por ejemplo:
yarn add aws-sdk yarn add express
Instala las dependencias de Node.js del servidor de Action Hub de Looker.
yarn install
Ejecuta cualquier prueba que hayas escrito.
yarn test
Cómo probar una acción
Para realizar una prueba completa, puedes probar la acción en tu instancia de Looker si alojas un servidor privado de concentrador de acciones. Este servidor debe estar en la Internet pública con un certificado SSL válido y debe poder iniciar y recibir conexiones o solicitudes HTTPS desde y hacia Looker. Para ello, puede usar una plataforma basada en la nube, como Heroku, como se muestra en el siguiente ejemplo, o puede usar cualquier plataforma que cumpla con los requisitos antes mencionados.
Configura un servidor de concentrador de acciones local
En este ejemplo, tomaremos la acción que desarrollamos en el repositorio de GitHub looker-open-source/actions/src/actions
y confirmaremos el código en una nueva rama de Git. Te recomendamos que trabajes en las funciones con ramas para que puedas rastrear con facilidad tu código y, si lo deseas, crear fácilmente un PR con Looker.
Para comenzar, crea tu rama y, luego, organiza y confirma tu trabajo. Por ejemplo:
git checkout -b my-branch-name git add file-names git commit -m commit-message
En este ejemplo, para enviar una rama a Heroku, configura tu repositorio de Git con Heroku como opción remota en tu línea de comandos:
heroku login heroku create git push heroku
Ahora Heroku mostrará la URL pública que aloja el centro de acciones para que lo uses. Visita la URL o ejecuta
heroku logs
para confirmar que el centro de acciones se está ejecutando. Si olvida la URL pública, puede ejecutar lo siguiente en su línea de comandos:heroku info -s | grep web_url
Heroku mostrará tu URL pública. Por ejemplo:
https://my-heroku-action-server-1234.herokuapp.com
.En la línea de comandos, configura la URL base del centro de acciones:
heroku config:set ACTION_HUB_BASE_URL="https://my-heroku-action-server-1234.herokuapp.com"
Configura la etiqueta de tu concentrador de acciones:
heroku config:set ACTION_HUB_LABEL="Your Action Hub"
Looker usa un token de autorización para conectarse al centro de acciones. Genera el token en la línea de comandos:
heroku run yarn generate-api-key
Si no usas Heroku, como en este ejemplo, usa lo siguiente:
yarn generate-api-key
Heroku mostrará tu token de autorización. Por ejemplo:
Authorization: Token token="abcdefg123456789"
.Configura tu secreto del centro de acciones con la clave secreta:
heroku config:set ACTION_HUB_SECRET="abcdefg123456789"
Es posible que las implementaciones alojadas por el cliente requieran la configuración de variables de entorno adicionales que no están documentadas aquí.
Para agregar la acción en tu instancia local de Looker, ve a Admin > Actions.
- En la parte inferior de la lista de acciones, haz clic en Agregar Action Hub.
- Ingresa la URL de Action Hub y, de forma opcional, una clave secreta.
- Busca tu acción en la lista Acciones del menú Administrador de Looker.
- Haz clic en Habilitar.
Si tu acción requiere que se pasen tipos de datos específicos de Looker, asegúrate de configurar cualquier modelo para que incluya el parámetro tags
apropiado.
Ya puedes probar tu acción.
Cómo probar acciones a nivel del panel y de la consulta
En tu instancia de Looker, configura tu modelo de LookML con etiquetas, si es necesario. Crea y guarda un estilo. En la apariencia guardada, haz clic en el menú de la parte superior derecha y selecciona Enviar con tu acción como destino. Si tienes un formulario para entregar, Looker lo renderizará en la ventana Enviados.
Haz clic en Enviar prueba para enviar los datos. El estado de la acción aparecerá en el Historial del programador, en el panel Administrador. Si se encuentra un error en tu acción, se mostrará en el panel Administrador, y Looker enviará un correo electrónico con el mensaje de error al usuario que envió la acción.
Cómo probar acciones a nivel de la celda
Configura un campo LookML con las etiquetas adecuadas para tu acción. En tu instancia de Looker, ejecuta una consulta que incluya ese campo. Busque el campo en la tabla de datos. Haga clic en ... en la celda y seleccione Enviar en el menú desplegable. Si recibe errores, deberá actualizar la tabla de datos por completo después de solucionarlos.
- Si tu acción se publica sin errores, ya puedes publicar tu acción.
- Si quieres seguir alojando tu acción de forma privada, puedes publicar en tu concentrador de acción privado.
- Si deseas publicar tu acción para que la usen todos los clientes de Looker, consulta la sección sobre cómo publicar en el centro de acciones de Looker.
Publicación y habilitación de una acción personalizada
Existen dos opciones de publicación para las acciones personalizadas:
- Publicar en el Centro de Acciones de Looker: Esto permite que tu acción esté disponible para cualquier persona que use Looker.
- Publicar en un servidor de concentrador de acción privado: Esto hace que la acción esté disponible solo en tu instancia de Looker.
Una vez que se publique tu acción, podrás habilitarla desde la página Acciones del panel Administrador.
Cómo publicar en el Centro de acciones de Looker
Este enfoque es el más fácil y funciona para cualquier acción que desees poner a disposición de cualquier persona que use Looker.
Después de probar tu acción, puedes enviar una solicitud de relaciones públicas al repositorio looker-open-source/actions
en GitHub.
Ingrese el siguiente comando:
git push <your fork> <your development branch>
Crea tu solicitud de extracción con el repositorio
looker-open-source/actions
como destino.Completa el formulario de envío del Marketplace de acción y el mercado de Looker. Para obtener más información sobre los requisitos del formulario, consulta Cómo enviar contenido a Looker Marketplace.
Looker revisará su código de acción. Nos reservamos el derecho de rechazar su solicitud de relaciones públicas, pero podemos ayudarlo con cualquier problema que tenga y ofrecerle sugerencias para mejorar. Luego, combinamos el código en el repositorio
looker-open-source/actions
y lo implementamos enactions.looker.com
. Una vez implementado, el código estará disponible para todos los clientes de Looker.Habilita la acción en tu instancia de Looker para que aparezca como una opción de entrega de datos.
Cómo publicar en un servidor de concentrador de acción privado
Si tienes acciones personalizadas que son privadas para tu empresa o caso de uso, no debes agregar tu acción al repositorio looker-open-source/actions
. En su lugar, crea un centro de acciones privado con el mismo framework de Node.js que usaste para probar tu acción.
Puedes configurar tu servidor de acción interno en tu propia infraestructura o mediante una plataforma de aplicaciones basada en la nube (en nuestro ejemplo, se usó Heroku). No olvides bifurcar el Action Action Hub de Looker a tu servidor privado antes de la implementación.
Configura un modelo de LookML para usarlo con una acción
Para las acciones personalizadas y las acciones disponibles en Looker Action Hub, debes identificar los campos de datos relevantes mediante el parámetro tags
en el modelo de LookML.
La página Acciones del panel Administrador proporcionará información sobre las etiquetas necesarias para el servicio, si corresponde.
Por ejemplo, la integración de Zapier indica que funciona con cualquier consulta. No es necesario agregar el parámetro tags
a un campo de tu modelo de LookML.
Sin embargo, el servicio Twilio Send Message envía un mensaje a una lista de números de teléfono. Requiere una consulta que incluya un campo de número de teléfono y el parámetro tags
para identificarlo. Para identificar un campo de número de teléfono en LookML, especifica tags: ["phone"]
en ese campo. Su LookML para un campo de número de teléfono podría verse así:
dimension: phone {
tags: ["phone"]
type: string
sql: ${TABLE}.phone ;;
}
Asegúrate de identificar los campos obligatorios en tu modelo de LookML con el parámetro tags
para que tus usuarios puedan usar el servicio a fin de enviar datos.
Entrega datos con una acción
Tus datos se pueden entregar de varias maneras, según el nivel en el que opere la acción. Las acciones funcionan en el campo, la consulta o el panel, y pueden operar en uno o más niveles. Cada acción que aparece en la página Acciones del panel Administrador tiene una descripción de cómo se utiliza. Puedes hacer lo siguiente:
- Cómo entregar una celda de datos
- Proporciona una consulta o un panel completo (desde un aspecto o una exploración).
Entrega de datos de celdas
Las acciones a nivel de campo se denotan en la página Acciones del panel Administrador mediante una descripción que incluye "La acción se puede usar con campos" o con un Sí en la columna Se puede usar desde campos en la lista de servicios integrados.
Las acciones a nivel de campo están diseñadas para entregar una celda de datos al servicio especificado. Funcionan de manera similar a las acciones de datos, excepto que se entregan a través de la API de acción de Looker. En lugar de definir un parámetro de LookML action
para una dimensión o medición, debes configurar tu modelo de LookML etiquetando los campos relevantes con la información proporcionada en la columna Etiquetas para esta acción en la lista de servicios integrados.
Después de habilitar el servicio y los campos de etiquetado en el modelo de LookML, puedes hacer lo siguiente:
Consulta los datos que deseas entregar en un estilo, un panel o una exploración. Si el servicio especifica “Se puede usar con acciones que tienen un campo etiquetado...”, tu consulta o uno de los mosaicos del panel deben incluir uno o más campos con las etiquetas obligatorias.
El campo etiquetado en cada celda del estilo, el mosaico del panel o la sección Explorar contendrá una lista desplegable, indicada por puntos suspensivos (...). Haz clic en la elipsis para ver las acciones disponibles en ese vínculo.
En la sección ACCIONES, haz clic en el servicio que deseas que reciba los datos de las filas.
Entrega datos del panel o de las consultas
Las acciones a nivel de consulta se denotan en la página Acciones del panel Administrador mediante una descripción que incluye "La acción se puede usar con consultas que tienen un campo etiquetado..." o "La acción se puede usar con cualquier consulta". De acuerdo con la columna Puede enviar o programar en la lista de servicios integrados, puede enviar Todas las filas (en un aspecto o una exploración). Las acciones a nivel de la consulta están diseñadas para entregar todos los resultados de la consulta de Explorar o Mirar al servicio especificado.
Las acciones a nivel del panel se denotan en la página Acciones del panel Administrador mediante una descripción que incluye el mensaje "La acción se puede usar con cualquier panel". Según la columna Puede enviar o programar en la lista de servicios integrados, puede entregar un panel. Las acciones a nivel del panel están diseñadas para entregar un panel al servicio especificado.
Habilita el servicio y, si es necesario, etiqueta los campos en el modelo LookML.
Para ofrecer un aspecto o exploración, consulta la página de documentación sobre cómo publicar aspectos y exploraciones.
Para enviar paneles, consulte las páginas de documentación sobre cómo entregar paneles heredados y cómo programar y enviar paneles.