Comparte datos a través de un centro de acciones

Además de entregar contenido a los destinos integrados de Looker, puedes usar acciones, también llamadas integraciones, para entregar contenido a servicios de terceros integrados con Looker a través de un servidor de centro de acciones.

Las acciones que se entregan a través de un servidor de concentrador de acción difieren de las acciones de datos, que se definen mediante el parámetro action de LookML.

En esta página, se explican las opciones de compilación de acciones personalizadas que puedes solicitar para agregar al Centro de acciones de Looker o agregar a tu propio servidor privado de dicho centro. En esta página, también se describe cómo iniciar un servidor del centro de acciones local para probar tus acciones personalizadas o ejecutar un servidor privado del centro de acciones.

En el siguiente gráfico, se ilustran las opciones de flujo de trabajo disponibles para integrar acciones mediante un centro de acciones alojado de forma privada o el Centro de acciones alojado por Looker:

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 a 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 alojar tus propias acciones privadas o personalizadas. Las acciones de cada centro de acciones aparecerán en la página Acciones del panel Administrador.

Looker Action Hub

Looker aloja y proporciona el Centro de acciones de Looker, un servidor sin estado que implementa la API de Action de Looker y expone las acciones populares. Todos los datos que envíen los usuarios mediante una acción se procesarán temporalmente en el servidor de Looker Action Hub y no en tu instancia de Looker.

Looker ya está integrado en varios servicios. Consulte la página de documentación Configuración del administrador: Acciones para obtener información sobre cómo habilitar estos servicios existentes.

Requisitos de Looker Action Hub

Para usar las integraciones de Looker, Looker Action Hub debe poder comunicarse con la instancia de Looker y cumplir estos requisitos. Es posible que los administradores de instancias alojadas por el cliente tengan en cuenta factores adicionales cuando habiliten las integraciones de Looker desde el Centro de acción de Looker, especialmente aquellas que admiten resultados transmitidos o que usen OAuth.

Looker Action Hub debe poder enviar y recibir solicitudes a la API de las siguientes maneras:

Si tu implementación de Looker no admite estas solicitudes o si la función Lista de IP permitidas está habilitada en tu instancia de Looker, considera configurar un servidor de acciones locales para que entregue 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 Hub

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

donde name es el nombre programático de la acción.

Solicitudes del navegador del usuario de Looker a la red de Looker Action Hub

El navegador del usuario de Looker debe poder enviar solicitudes a estos extremos del Centro de acciones de Looker (para OAuth):

actions.looker.com/actions/<name>/oauth

donde name es el nombre programático de la acción.

Solicitudes de la red del Centro de acciones de Looker a la instancia de Looker

Looker Action Hub debe realizar solicitudes a la instancia de Looker para acciones que admitan resultados transmitidos o que usen OAuth.

Una acción de transmisión permite que la acción consuma consultas que muestran Todos los resultados. Las acciones habilitadas para OAuth usan la autenticación por usuario mediante flujos de OAuth 2.0. Las acciones de OAuth deben almacenar las credenciales de los usuarios en su instancia de origen de Looker porque Looker Action Hub es un servicio sin estado y multiusuario, y no almacenará credenciales específicas del usuario de ningún tipo.

Las solicitudes de 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 URL se generan en la instancia de Looker antes de enviarse al Centro de acción de Looker. Por este motivo, Looker Action Hub debe poder resolver <host_looker_url> en una dirección IP y realizar solicitudes en la red en la que reside tu instancia de Looker.

Looker Action Hub tiene direcciones IP de salida estáticas de las que siempre provendrán las solicitudes: 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 use OAuth.

Consideraciones para las instancias alojadas por el cliente

Para usar las integraciones de Looker, Looker Action Hub 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 Hub muestre un comportamiento inesperado o no deseado, como consultas pendientes o acciones no disponibles.

Para abordar el posible problema de Looker Action Hub que no puede comunicarse con la instancia de Looker, los administradores de Looker pueden implementar una de las soluciones que se presentan a continuación. La solución o la combinación de soluciones adecuada dependerá de la arquitectura de la instancia de Looker:

  • Si la instancia alojada por el cliente no se puede resolver a través del 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> que se puede resolver, que es diferente de la instancia <host_looker_url>. El public_host_url anula el nombre de host para algunas URL de devolución de llamada específicas de Looker Action Hub y enruta esas URL de devolución de llamada a través de un proxy inverso que tiene el public_host_url como nombre que se puede resolver públicamente. Este proxy inverso solo acepta solicitudes de direcciones IP de salida estáticas para Looker Action Hub. Los administradores de Looker que usan este método deben agregar a la lista de anunciantes permitidos las direcciones IP de salida desde las que Looker Action Hub realiza solicitudes a la instancia de Looker: 35.153.89.114, 104.196.138.163 y 35.169.42.87.

  • Si la instancia de Looker puede resolver la URL de la instancia alojada por el cliente, pero el Centro de acciones de Looker 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 anunciantes permitidos las direcciones IP de salida desde las que Looker Action Hub realiza solicitudes a la instancia de Looker: 35.153.89.114, 104.196.138.163 y 35.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 resultados transmitidos o que usen OAuth.

  • Para implementar un centro de acciones alojado por el cliente, debe asegurarse de que el archivo JAR esté alojado en un servidor público para que Looker Action Hub pueda comunicarse con él. Sin embargo, Looker no recomienda esta solución.

Otra razón por la que las acciones de transmisión y OAuth no se pueden usar en una instancia de Looker alojada por el cliente es si la instancia usa un certificado SSL emitido por una autoridad certificada (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 en GitHub.

Tienes las siguientes opciones para crear una acción personalizada:

  1. Configura un repositorio de desarrollo
  2. Escribe tu acción.
  3. Cómo probar tu acción
  4. 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 deba configurar sus modelos de LookML con parámetros específicos antes de poder usar la acción para entregar sus datos.

Configura un repositorio de desarrollo

Looker Action Hub es un servidor 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 saber la mayor parte del lenguaje TypeScript.

Para ejecutar Looker Action Hub, se requiere el siguiente software:

  • Node.js
  • Administrador de versiones de nodos (NVM: para seleccionar la versión de Node.js adecuada)
  • Yarn (para administrar dependencias)

Una vez que hayas instalado el software requerido, estarás listo para configurar tu entorno de desarrollo. En el siguiente ejemplo, se usa Git.

  1. Clona el repositorio looker-open-source/actions de forma local:

    git clone git@github.com:looker-open-source/actions.git
    
  2. Crea un directorio con el nombre de tu acción en el directorio actions/src/actions. Por ejemplo:

    mkdir actions/src/actions/my_action
    
  3. 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 archivos de ejemplo.

Looker recomienda que también agregue lo siguiente:

  • Un archivo README que explica el propósito y los medios de autenticación para tu acción
  • Ícono PNG para mostrar en Looker Action Hub (o centro de acción privado en tu instancia de Looker) y en las ventanas de entrega de datos de Looker
  • Los archivos de prueba que quieras ejecutar en el código de acción (diferentes de los que se usan para probar la acción)

Cómo escribir una acción

Un requisito de diseño para el servidor de Looker Action Hub es que su estado es completamente sin estado, por lo que no se permite almacenar información en la aplicación o el servicio de acción. Toda la información necesaria para realizar la acción debe incluirse 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 datos o formatos de 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 dentro de 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 ejecutar la acción. Los campos que especifiques en la /form aparecerán en la ventana emergente Enviar o Programar cuando los usuarios seleccionen la acción como destino para la entrega de datos.

Si usas la API de Actioner, el formato de estos parámetros puede ser diferente.

Cuando escribas el archivo de acción, incluye al menos los siguientes parámetros marcados como Obligatorio en la definición de la acción:

Parámetro Obligatorio Descripción Tipo de datos
name Un nombre único para la acción. Debe ser único en todas las acciones del Centro de acciones de Looker. string
url Una URL absoluta del extremo /execute para esta acción. string
label Una etiqueta legible para la acción. string
supportedActionTypes Una lista de los tipos de acciones que admite la acción. Los valores válidos son "cell", "query" y "dashboard". string
formURL No Una URL absoluta del extremo /form para esta acción. string
description No Descripción de la acción. string
params No Arreglo 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 Administrador. Para administrar cómo los usuarios pueden enviar datos a un destino de acción, puede 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", "json_detail", "json_detail_lite_stream", "xlsx", "html", "wysiwyg_pdf", "assembled_pdf", and "wysiwyg_png". 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 compatibles con 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 esta acción es compatible. Si hay varias entradas en esta lista, la acción requiere más de un campo. RequiredField
supportedDownloadSettings No Booleano que determina si se enviará a la acción 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 valor booleano true/false. Si es usesStreaming = true, supportedDownloadSettings = url. Si es usesStreaming = false, supportedDownloadSettings = push. Booleano
usesOAuth No Un valor booleano que determina si la acción es de OAuth Esto determinará si se le enviará un vínculo de uso único a la acción para poder configurar state para un usuario específico. Booleano
usesStreaming No Valor booleano que determina si la acción admite resultados de consulta transmitidos. Marca la columna Sí o no de los resultados de transmisión en la lista de servicios integrados. Las acciones que transmiten resultados pueden requerir la configuración de un servidor de concentrador de acciones local. Consulte el artículo Cómo configurar un centro de acciones local para acciones que usan OAuth o transmisión en el Centro de ayuda de Looker para obtener más informació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 del panel Administrador. string

Como referencia, puedes ver ejemplos de acciones de Looker Action Hub en GitHub.

Tipos de acciones compatibles

Looker admite tres tipos de acciones, como se especifica en el parámetro supportedActionTypes de su acción: consulta, celda y panel.

  • Una acción a nivel de la consulta: Esta es una acción que envía una consulta completa. La acción de segmento, por ejemplo, es una acción a nivel de consulta.
  • Una acción a nivel de celda: Una acción a nivel de celda envía el valor de una 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 para asignar acciones a las celdas correspondientes. Las acciones deben especificar qué etiquetas admiten en requiredFields. Para mapear acciones y campos, los campos en LookML deben especificar a qué etiquetas se asignan con el parámetro tags de LookML. Por ejemplo, la acción de mensajes de Twilio usa una etiqueta phone para que los desarrolladores de LookML puedan controlar en qué campos de número de teléfono aparecerá la acción de Twilio.
  • Una acción a nivel del panel: Una acción a nivel del panel admite el envío de la 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 en un grupo de usuarios al que pertenezcan, además del permiso send_to_integration, para ver la acción como una opción de destino cuando envíe o programe contenido.

Para agregar un atributo de usuario a tu acción:

  1. Es posible que un administrador de Looker deba crear el atributo de usuario correspondiente a user_attribute_param si aún no existe.
  2. Defina un valor válido para el atributo de usuario de los usuarios o grupos de usuarios que necesitan publicar contenido en su destino de acción. (Estos usuarios también deben tener permisos send_to_integration).
  3. 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 de la lista Acciones en el panel Administrador. En el parámetro params 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 de la sección Usuarios del panel Administrador. required: true significa que el usuario debe tener un valor no nulo y válido definido para que 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.

  1. Implementa las actualizaciones en el servidor del centro de acciones.
    • Si agrega una acción nueva, un administrador de Looker deberá habilitar la acción. Para ello, debe hacer clic en el botón Habilitar junto a la acción en la página Acciones del panel Administrador.
    • Si desea actualizar una acción existente, haga clic en el botón Actualizar para actualizar su lista de acciones. Luego, haga clic en el botón Configuración.
  2. En la página de habilitación o configuración de acciones, un administrador de Looker debe configurar los campos del formulario de la acción para extraer información del atributo del usuario. Para ello, debe hacer clic en el ícono del atributo del usuario a la derecha del campo correspondiente y seleccionar el atributo del usuario deseado.

Parámetros de requiredField en acciones a nivel de celda

En el caso de las acciones a nivel de celda, puedes configurar los campos de LookML de tu modelo para enviar datos a ese destino de acción especificando las etiquetas que admite la acción en el parámetro requiredFields del archivo de acción.

Parámetro Obligatorio 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 a tag y coincide con un campo que tiene alguna de las etiquetas proporcionadas. string
all_tags No Si está presente, sustituye a tag y coincide con un campo que tiene todas las etiquetas proporcionadas. string

Formatos de datos compatibles

La clase DataActionRequest define con qué formato de entrega de datos está disponible la acción para trabajar. Para las acciones a nivel de la 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.

Configura una acción para OAuth

Las acciones habilitadas para OAuth no se pueden configurar desde Looker Action Hub para instancias de Looker que tienen habilitada la función Lista de IP permitidas o que no pueden satisfacer los requisitos de Looker Action Hub. Consulte el artículo Cómo configurar un centro de acciones local para acciones que usan OAuth o transmisión en el Centro de ayuda de Looker a fin de obtener más información sobre cómo configurar una acción para OAuth.

Puedes configurar tu acción para que los usuarios puedan autenticarse en la acción con OAuth. Aunque el Centro de acciones de Looker debe permanecer sin estado, puedes aplicar un estado a través de una solicitud de formulario de la API de Action Looker.

Flujo de OAuth de la acción de Looker

En el caso de las acciones de Looker Action Hub, puedes extender una OAuthAction en lugar de una Hub.Action a fin de establecer un valor booleano que indique los métodos de OAuth necesarios para autenticar a un usuario en una acción. Para cada acción habilitada para OAuth o por estado, Looker almacena un estado por usuario y por acción, de modo que cada acción y combinación de usuarios tenga un evento de OAuth independiente.

Por lo general, el flujo para crear acciones implica una solicitud /form seguida de una solicitud /execute. Para OAuth, la solicitud /form debe tener un método para determinar si el usuario se autentica dentro del servicio de destino. Si el usuario ya está autenticado, 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.

Guarda 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á un state_url de uso único en cada solicitud /form de Looker. El 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 está autenticado con el extremo, el /form que se muestra debe contener un form_field de tipo oauth_link que va 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 a Looker Action Hub.

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 debería implementarse mediante el método OauthAction para extraer la información necesaria y tratar de 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á a Looker Action Hub.

Agrega tus archivos de acción al repositorio de Action Hub de Looker

Una vez que se haya escrito el archivo de acción, haz lo siguiente en el repositorio de Action Hub de Looker:

  1. Agrega el archivo de acción (por ejemplo, my_action.ts) a actions/src/actions/index.ts.

    import "./my_action/my_action.ts"
    
  2. Agrega cualquier requisito de paquete de Node.js que hayas usado en la escritura de tu acción. Por ejemplo:

    yarn add aws-sdk
    yarn add express
    
  3. Instala las dependencias de Node.js del servidor de Looker Action Hub.

    yarn install
    
  4. Ejecuta cualquier prueba que hayas escrito.

yarn test

Prueba una acción

Para realizar pruebas completas, puedes probar tu acción en tu instancia de Looker si alojas un servidor de concentrador de acción privado. 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 hacia y desde Looker. Para ello, puedes usar una plataforma basada en la nube, como Heroku, como se muestra en el siguiente ejemplo, o puedes usar cualquier plataforma que cumpla con los requisitos mencionados anteriormente.

Cómo configurar un servidor local del centro de acciones

En este ejemplo, tomaremos la acción que desarrollamos en el repositorio looker-open-source/actions/src/actions de GitHub y confirmaremos el código en una nueva rama de Git. Te recomendamos que trabajes en funciones con ramas para que puedas rastrear fácilmente tu código y, si lo deseas, crear fácilmente un PR con Looker.

  1. 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
    
  2. En este ejemplo, para enviar una rama a Heroku, configure su repositorio de Git con Heroku como opción remota en su línea de comandos:

    heroku login
    heroku create
    git push heroku
    
  3. Heroku mostrará la URL pública que ahora aloja el centro de acciones para que la uses. Visita la URL o ejecuta heroku logs para confirmar que el centro de acciones esté en ejecución. 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.

  4. 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"
    
  5. Establece la etiqueta del centro de acciones:

    heroku config:set ACTION_HUB_LABEL="Your Action Hub"
    
  6. 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:

    yarn generate-api-key
    

    Heroku mostrará su token de autorización. Por ejemplo: Authorization: Token token="abcdefg123456789".

  7. Configura el secreto del centro de acciones con la clave secreta:

    heroku config:set ACTION_HUB_SECRET="abcdefg123456789"
    

    Las implementaciones alojadas por el cliente pueden requerir la configuración de variables de entorno adicionales que no se documentan aquí.

  8. Para agregar tu acción en la 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 del centro de acciones y, de forma opcional, una clave secreta.
    • Busca tu acción en la lista de 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 los modelos para incluir el parámetro tags apropiado.

Ahora estás listo para probar tu acción.

Prueba las 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 la acción como destino. Si tienes un formulario para la entrega, Looker lo procesará 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 su acción encuentra un error, 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, tendrá que actualizar la tabla de datos después de corregirlos.

Publicación y habilitación de una acción personalizada

Existen dos opciones de publicación para las acciones personalizadas:

Una vez que se publique su acción, puede habilitarla desde la página Acciones en el panel Administrador.

Cómo publicar en el Centro de acción 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 extracción al repositorio looker-open-source/actions en GitHub.

  1. Ingrese el siguiente comando:

    git push <your fork> <your development branch>
    
  2. Crea tu solicitud de extracción con el repositorio looker-open-source/actions como destino.

  3. Completa el formulario de envío de Looker Marketplace y Action Hub. 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 tu solicitud de Relaciones Públicas, pero podemos ayudarte con cualquier problema que tengas y ofrecerte sugerencias para mejorar. Luego, combinamos el código en el repositorio looker-open-source/actions y lo implementamos en actions.looker.com. Una vez implementado, el código estará disponible para todos los clientes de Looker.

  4. Habilite la acción en su instancia de Looker, de modo que aparezca como una opción para la entrega de datos.

Publica en un servidor de concentrador de acciones privado

Si tienes acciones personalizadas que sean privadas para tu empresa o caso práctico, no debes agregar tu acción al repositorio looker-open-source/actions. En su lugar, crea un centro de acciones privado con el mismo marco de trabajo de Node.js que usaste para probar tu acción.

Puedes configurar tu servidor interno de concentrador de acciones en tu propia infraestructura o mediante una plataforma de aplicaciones basada en la nube (nuestro ejemplo es Heroku). No olvides bifurcar el Centro de acciones de Looker al servidor de tu centro de acciones 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 tu 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 en tu modelo de LookML.

Sin embargo, el servicio Enviar mensaje de Twilio envía un mensaje a una lista de números de teléfono. Requiere una consulta que incluye un campo de número de teléfono y usa el parámetro tags para identificarlo en la consulta. Para identificar un campo de número de teléfono en LookML, especifica tags: ["phone"] en ese campo. El campo LookML de un 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.

Entregar 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 nivel de campo, consulta o 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 usa. Puedes hacer lo siguiente:

Entrega datos móviles

Las acciones a nivel de campo se denotan en la página Acciones del panel Administrador con una descripción que incluye la opción "La acción se puede usar con campos" o con un en la columna Puede usar de campos en la lista de servicios integrados.

Las acciones de nivel de campo están diseñadas para entregar una celda de datos al servicio especificado. Funcionan de forma similar a las acciones de datos, excepto que se entregan mediante la API de acción de Looker. En lugar de definir un parámetro action de LookML para una dimensión o medida, debes configurar tu modelo de LookML. Para ello, etiqueta 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 los campos de servicio y etiquetado en el modelo de LookML, puedes hacer lo siguiente:

  1. Consulta los datos que quieres publicar en un Look, un panel o una Explorar. Si el servicio especifica “Acción que se puede usar con consultas que tienen un campo etiquetado...”, tu consulta o uno de los mosaicos del panel deben incluir uno o más campos con las etiquetas requeridas.

  2. El campo etiquetado en cada celda en la sección Buscar, mosaico del panel o Explorar contendrá una lista desplegable, indicada con puntos suspensivos (...). Haz clic en la elipsis para ver las acciones disponibles para ese vínculo:

  3. En la sección ACCIONES, haz clic en el servicio que deseas que reciba los datos de la fila.

Entrega datos del panel o de la consulta

Las acciones a nivel de la búsqueda se denotan en la página Acciones del panel Administrador mediante una descripción que incluye "Acción" que se puede usar con consultas que tienen un campo etiquetado... o "Acción se puede utilizar con cualquier consulta". De acuerdo con la columna Puede enviar o programar en la lista de servicios integrados, puede publicar Todas las filas (en una apariencia o en Explorar). Las acciones a nivel de la consulta están diseñadas para entregar todos los resultados de una consulta de Explorar o Look al servicio especificado.

Las acciones a nivel del panel se denotan en la página Acciones del panel Administrador por una descripción que incluye "La acción se puede utilizar con cualquier panel." Según la columna Puede enviar o programar en la lista de servicios integrados, puede publicar 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 de LookML.

Para publicar un estilo o una exploración, consulta la página de documentación Publicación y exploración.

Para entregar paneles, consulta las páginas de documentación Entrega de paneles heredados y Programa y envía paneles.