Cómo compartir 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 en Looker a través de un servidor de centro de acciones.

En esta página, se explican las opciones para crear acciones personalizadas que puedes solicitar para agregar al Action Hub de Looker o hacerlo en tu propio servidor privado del Centro de acciones. En esta página, también se describe cómo iniciar un servidor del concentrador de acciones locales para probar tus acciones personalizadas o ejecutar un servidor del concentrador de acciones privado.

Para comenzar a usar las acciones, puedes hacer lo siguiente:

Una vez que se agrega la acción al Centro de acciones, un administrador de Looker puede enable para entregarle contenido de Looker a esos servicios.

También puedes configurar varios centros de acciones si quieres usar las integraciones de Looker a través del Action Hub de Looker y, además, alojar tus propias acciones privadas o personalizadas. Las acciones de cada centro de acciones aparecerán en la página Acciones del panel Administrador.

Action Hub de Looker

Looker aloja y proporciona Looker Action Hub, un servidor sin estado que implementa la API de Looker de Action y expone acciones populares. Todos los datos que envíen tus usuarios con una acción se procesarán de forma temporal en el servidor de Action Hub de Looker en lugar de en tu instancia de Looker.

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

Requisitos del Centro de acciones de Looker

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

Si tu implementación de Looker no puede admitir estas solicitudes o si la función Lista de IP permitidas está habilitada en tu instancia de Looker, considera configurar un servidor del concentrador de acciones locales para entregar integraciones de Looker o acciones personalizadas. Los administradores de instancias alojadas por el cliente también pueden implementar un servidor de acción local específicamente para OAuth y acciones de transmisión.

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

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 los siguientes 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 del Centro de acciones de Looker

El navegador del usuario de Looker debe poder enviar solicitudes a los siguientes extremos del Action Hub 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 de Action Hub de Looker a la instancia de Looker

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

Una acción de transmisión permite que la acción consuma consultas que entregan Todos los resultados. Las acciones habilitadas para OAuth usan la autenticación por usuario a través de flujos de OAuth 2.0. Las acciones de OAuth deben almacenar las credenciales del usuario en su instancia de Looker de origen porque el Centro de acciones de Looker es multiusuario y no almacena credenciales específicas del usuario de ningún tipo.

Las solicitudes del Action Hub de Looker para una instancia de Looker tienen la siguiente forma:

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 en la instancia de Looker antes de enviarlas al Action Hub de Looker. Por este motivo, el Action Hub de Looker debe poder resolver el <host_looker_url> en una dirección IP y hacer solicitudes a la red en la que reside tu instancia de Looker.

El Action Hub de Looker 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 las instancias alojadas en Looker que habilitaron la lista de IP permitidas deben agregar estas direcciones IP para usar cualquier acción que admita resultados transmitidos o use OAuth.

Consideraciones para instancias alojadas por el cliente

Para usar las integraciones de Looker, el Action Hub de Looker debe poder comunicarse con la instancia de Looker y cumplir con los requisitos de Looker Action Hub. 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 el Action Hub de Looker y la instancia de Looker, este puede mostrar un comportamiento inesperado o no deseado, como las consultas en espera o las acciones no disponibles.

Para abordar el posible problema de que el Action Hub de Looker no pueda comunicarse con la instancia de Looker, los administradores de Looker pueden implementar una de las soluciones que se muestran más adelante en esta página. La solución o la combinación de soluciones adecuada dependerá de la arquitectura de la instancia de Looker:

  • Si el Centro de acciones de Looker no puede resolver la instancia alojada por el cliente (es decir, el Centro de acciones de Looker no puede recibir solicitudes de la instancia de Looker), los administradores de Looker pueden comunicarse con un especialista en ventas de Google Cloud 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 y que es diferente de la instancia <host_looker_url>. public_host_url anula el nombre de host para algunas URLs de devolución de llamada específicas de Looker Action Hub y las enruta a través de un proxy inverso que tiene public_host_url como un nombre que se puede resolver de forma pública. Este proxy inverso solo acepta solicitudes de direcciones IP de salida estáticas para el Action Hub de Looker. Los administradores de Looker que usen este método deben agregar a la lista de entidades permitidas 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 Action Hub de Looker no puede enviar solicitudes a la instancia de Looker, es posible que los usuarios no puedan configurar o usar acciones que admitan los 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 Action Hub de Looker 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 usan OAuth.

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

Además, es posible que no se puedan usar las acciones de transmisión y de OAuth en una instancia de Looker alojada por el cliente si esta usa un certificado SSL emitido por una autoridad certificadora (AC) que no se encuentra en esta lista de certificados raíz.

Cómo crear una acción personalizada

En esta sección, se describen los pasos que se deben 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, consulta las acciones existentes en el repositorio looker-open-source/actions en GitHub.

Puedes crear una acción personalizada de las siguientes maneras:

  1. Configura un repositorio de desarrollo
  2. Cómo escribir una acción
  3. Prueba tu acción
  4. Publicar y habilitar tu acción, ya sea en el Action Hub de Looker o en tu propio servidor del concentrador de acciones privado

Al igual que con cualquier acción, es posible que debas configurar tus modelos de LookML con parámetros específicos antes de poder usar la acción para entregar tus datos.

Configura un repositorio de desarrollo

El Action Hub de Looker es un servidor de Node.js escrito en TypeScript, una pequeña capa sobre el JavaScript moderno que agrega información sobre tipos para ayudar a detectar errores de programación. Si conoces JavaScript, deberías conocer la mayor parte del lenguaje de TypeScript.

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

  • Node.js
  • Node Version Manager (NVM, para seleccionar la versión de Node.js adecuada)
  • Yarn (para administrar dependencias)

Una vez que instales el software requerido, podrás 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 te recomienda que también agregues lo siguiente:

  • Un archivo README para explicar el propósito y los medios de autenticación de tu acción
  • Un ícono PNG para mostrar en el Action Hub de Looker (o el centro de acciones privado en tu instancia de Looker) y en las ventanas de entrega de datos de Looker
  • Cualquier archivo para las pruebas que quieras ejecutar en el código de acción (esto es diferente de probar tu acción)

Cómo escribir una acción

Un requisito de diseño para el servidor de Action Hub de Looker es que permanezca 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 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á en función del servicio, el tipo o nivel en el que opera la acción y los formatos de datos o visualización que deban especificarse. La acción también se puede configurar para los flujos de autorización de OAuth 2.0.

Los archivos de acción se basan en el método /execute de la API. Las solicitudes a la API de Looker reciben una 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 disponible, 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 Enviar o Programar cuando los usuarios seleccionen la acción como destino para su entrega de datos.

Cuando escribas el archivo de acciones, 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 dato
name Un nombre único para la acción. Debe ser único para todas las acciones del Action Hub de Looker. string
url Es una URL absoluta del extremo /execute para esta acción. string
label Es la etiqueta de la acción legible por humanos. 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 Es una URL absoluta del extremo /form para esta acción. string
description No Descripción de la acción. string
params No Array de parameters para la acción. Incluye el nombre, la etiqueta y la descripción en formato de cadena 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. Si quieres administrar la forma en que los usuarios pueden entregar datos a un destino de acción, puedes especificar un atributo de usuario para el que el usuario debe tener un valor definido. parameters
supportedFormats No Una lista de los formatos de datos que admite la acción. Los valores válidos son "txt", "csv", "inline_json", "json" y "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 Es 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 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 la acción recibirá una URL de descarga de un solo uso 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, entonces supportedDownloadSettings = url. Si es usesStreaming = false, entonces supportedDownloadSettings = push. Booleano
usesOAuth No Un valor booleano que determina si la acción es de OAuth. Esto determinará si la acción recibirá un vínculo de un solo uso para poder configurar state para un usuario específico para esta acción. Booleano
usesStreaming No Un valor booleano que determina si la acción admite resultados de consultas transmitidos. Consulta la columna Utiliza transmisión de datos (Sí/No) en la lista de servicios integrados. Es posible que las acciones que transmiten resultados requieran la configuración de un servidor del concentrador de acciones locales. Consulta la página de prácticas recomendadas Cómo configurar un centro de acciones locales para acciones que usan OAuth o la transmisión si deseas 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 de administración. string

Los ejemplos de las acciones del Action Hub de Looker están en GitHub como referencia.

Tipos de acciones compatibles

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

  • Una acción a nivel de la 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 consulta.
  • Una acción a nivel de celda: Una acción a nivel de celda envía el valor de una sola celda específica de una tabla de datos. Este tipo de acción es diferente de las acciones de datos, que pueden definirse para dimensiones o mediciones con el parámetro action. Si quieres 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 asignar acciones y campos, los campos de LookML deben especificar a qué etiquetas se asignan con el parámetro tags de LookML. Por ejemplo, la acción de mensaje 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 una imagen de un panel. Por ejemplo, la acción SendGrid envía imágenes del panel por correo electrónico.

Agrega 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, para ver la acción como opción de destino cuando envía o programa contenido.

Para agregar un atributo de usuario a tu acción, sigue estos pasos:

  1. Es posible que un administrador de Looker deba crear el atributo de usuario que corresponde a user_attribute_param si aún no existe.
  2. Define un valor válido para el atributo de usuario destinado a los usuarios o grupos de usuarios que necesiten publicar contenido en el destino de tu acción. (Estos usuarios también deben tener los 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 desde la lista Acciones del 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,
  }]

donde user_attribute_name es el atributo de usuario definido en el campo Name de la página User Attributes en la sección Users del panel Admin, required: true significa que un usuario debe tener un valor no nulo y válido definido para ese atributo de usuario para ver la acción cuando se entregan los datos, y sensitive: true significa que el atributo del usuario está encriptado y nunca se muestra en la IU de Looker una vez que se ingresan. Puedes especificar varios subparámetros de atributos de usuario.

  1. Implementa tus actualizaciones en el servidor del concentrador de acciones.
    • Si agregas una acción nueva, un administrador de Looker deberá habilitarla haciendo clic en el botón Habilitar junto a la acción en la página Acciones del panel Administrador.
    • Si estás actualizando una acción existente, haz clic en el botón Actualizar para actualizar la lista de acciones. Luego, haz 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 de atributo de usuario a la derecha del campo correspondiente y seleccionar el atributo de usuario deseado.

Parámetros requiredField en acciones a nivel de la celda

En el caso de las acciones a nivel de celda, puedes configurar los campos de LookML de tu modelo para entregar datos a ese destino de acción especificando las etiquetas que admite tu 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 tenga esta etiqueta. string
any_tag No Si está presente, reemplaza a tag y coincide con un campo que tenga alguna 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 con qué formato de entrega de datos está disponible la acción. 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

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

Flujo de OAuth para la acción de Looker

Para las acciones en el Action Hub de Looker, puedes extender un OAuthAction en lugar de un Hub.Action para establecer un valor booleano que indique qué métodos de OAuth se necesitan 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 combinación de acción y usuario tenga un evento de OAuth independiente.

El flujo para crear acciones suele implicar una solicitud /form seguida de una solicitud /execute. Para OAuth, la solicitud /form debe tener un método para determinar si el usuario se autenticó dentro del servicio de destino. Si ya se autenticó al usuario, la acción debería 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. 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, el /form que se muestra debe contener un form_field de tipo oauth_link que vaya al extremo /oauth de una acción. El 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 Action Hub de Looker.

Cómo guardar el estado con el URI de redireccionamiento del concentrador 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 a través del 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 enviar state a Looker. La próxima vez que un usuario solicite esa acción, el estado recién guardado se enviará al Action Hub de Looker.

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

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

  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 utilizado al escribir tu acción. Por ejemplo:

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

    yarn install
    
  4. Ejecuta las pruebas que escribiste.

yarn test

Prueba una acción

Para completar las pruebas, puedes probar tu acción en tu instancia de Looker alojan un servidor de concentrador de acciones 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 desde y hacia Looker. Para esto, puedes usar una plataforma basada en la nube como Heroku, como se muestra en el siguiente ejemplo. Como alternativa, puedes usar cualquier plataforma que cumpla con los requisitos antes mencionados.

Cómo configurar un servidor del concentrador de acciones locales

En este ejemplo, realizaremos 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 hacer un seguimiento de tu código y, si lo deseas, crear fácilmente una solicitud de relaciones públicas con Looker.

  1. Para comenzar, crea tu rama y, luego, habilita por etapas 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, configura tu repositorio de Git con Heroku como una opción remota en la 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 se esté ejecutando. Si olvidas la URL pública, puedes ejecutar lo siguiente en la 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, establece la URL base del centro de acciones:

    heroku config:set ACTION_HUB_BASE_URL="https://my-heroku-action-server-1234.herokuapp.com"
    
  5. Establece tu 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 tu línea de comandos:

    heroku run yarn generate-api-key
    

    Si no usas Heroku, como estamos en este ejemplo, usa lo siguiente:

    yarn generate-api-key
    

    Heroku te devolverá el token de autorización. Por ejemplo: Authorization: Token token="abcdefg123456789".

  7. Establece tu 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. Agrega tu acción en tu instancia local de Looker en Administrador > Acciones.

    • En la parte inferior de la lista de acciones, haz clic en Agregar centro de acciones.
    • Ingresa la URL del Centro de acciones 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 específicos de datos desde Looker, asegúrate de configurar los modelos para incluir el parámetro tags adecuado.

Ya puedes probar la acción.

Prueba acciones a nivel del panel y de la búsqueda

En tu instancia de Looker, configura tu modelo de LookML con etiquetas, si es necesario. Crea y guarda una vista. En la vista guardada, haz clic en el menú de la parte superior derecha y selecciona Enviar con tu acción como destino. Si tienes un formulario de entrega, Looker lo renderizará en la ventana Enviados.

Haz clic en Enviar prueba para entregar los datos. El estado de la acción aparecerá en el Historial del programador en el panel Administrador. Si tu 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 de LookML con las etiquetas adecuadas para tu acción. En tu instancia de Looker, ejecuta una consulta que incluya ese campo. Busca el campo en la tabla de datos. Haz clic en en la celda y selecciona en el menú desplegable. Si recibes errores, deberás realizar una actualización completa en la tabla de datos después de solucionarlos.

Cómo publicar y habilitar una acción personalizada

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

Una vez que se publique tu acción, puedes habilitarla en la página Acciones del panel Administrador.

Cómo publicar en el Action Hub de Looker

Este enfoque es el más fácil y funciona para cualquier acción que quieras que esté disponible para cualquier persona que use Looker.

Después de que se haya probado tu acción, puedes enviar una solicitud de extracción al repositorio looker-open-source/actions en GitHub.

  1. Ingresa 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 tu 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á tu 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 que se implemente el código, estará disponible para todos los clientes de Looker.

  4. Habilita la acción en tu instancia de Looker para que aparezca como opción de entrega de datos.

Cómo publicar en un servidor del concentrador de acciones 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 del Centro de acciones interno en tu propia infraestructura o con una plataforma de aplicaciones basada en la nube (nuestro ejemplo usamos Heroku). No olvides bifurcar el Action Hub de Looker en tu servidor del concentrador 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 que están disponibles en el Action Hub de Looker, debes identificar los campos de datos relevantes con el parámetro tags en tu modelo de LookML. La página Acciones del panel de Administrador proporcionará información sobre las etiquetas que son necesarias para el servicio, si las hay.

Por ejemplo, una integración de Enviar mensaje de Twilio envía un mensaje a una lista de números de teléfono. En la página Acciones del panel Administrador, la integración muestra el subtexto "La acción se puede usar con consultas que tengan un campo etiquetado como phone".

Esto significa que el servicio de envío de mensajes de Twilio requiere una consulta que incluya un campo de número de teléfono y que use el parámetro tags para identificar qué campo de la consulta contiene números de teléfono. Para identificar un campo de número de teléfono en LookML, especifica tags: ["phone"] para ese campo. Tu LookML para el campo de número de teléfono podría verse de la siguiente manera:

dimension: phone {
  tags: ["phone"]
  type: string
  sql: ${TABLE}.phone ;;
}

Una integración que no requiere etiquetas mostrará el subtexto "La acción se puede usar con cualquier consulta" en la página Acciones del panel Administrador.

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 y enviar datos.

¿Qué sigue?

Aprende a publicar el contenido de una vista o exploración o de un panel a un servicio integrado.