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 que están integrados en Looker a través de un servidor de centro de acciones.

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

En esta página, te explicaremos las opciones para crear acciones personalizadas que puedes solicitar para agregar a Looker Action Hub o agregar a tu propio servidor privado de Action Hub. En esta página, también se describe cómo iniciar un servidor de centro de acciones local para probar tus acciones personalizadas o ejecutar un servidor de centro de acciones privado.

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

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

También puedes configurar varios centros de acciones si quieres usar las integraciones de Looker mediante Action Hub 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 Action de Looker y expone acciones populares. Todos los datos que envíen los 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 de Looker Action Hub

Para usar las integraciones de Looker, Action Hub de Looker debe poder comunicarse con la instancia de Looker y cumplir con estos requisitos. Es posible que los administradores de instancias alojadas por el cliente deban considerar factores adicionales cuando elijan habilitar las integraciones de Looker desde Looker Action Hub, en especial las integraciones que admiten los resultados transmitidos o que usan OAuth.

Looker Action Hub 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 de concentrador de acciones locales 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 locales específicamente para OAuth y acciones de transmisión.

Solicitudes de la instancia de Looker a la red de Action Hub 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 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 Action Hub de Looker

El navegador del usuario de Looker debe poder realizar solicitudes a estos extremos de Looker Action Hub (para OAuth):

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

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

Solicitudes de la red de Looker Action Hub a la instancia de Looker

Action Hub de Looker debe realizar solicitudes a la instancia de Looker para acciones que admitan los 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 origen de Looker, ya que Looker Action Hub no tiene estado y es multiusuario, y no almacena credenciales específicas del usuario de ningún tipo.

Las solicitudes del Action Hub de Looker a una instancia de Looker toman 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 acto de la instancia de Looker antes de enviarse al Action Hub de Looker. Por este motivo, Action Hub de Looker debe poder resolver la <host_looker_url> a una dirección IP y realizar solicitudes a 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 habilitaron 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, Action Hub de Looker debe poder comunicarse con la instancia de Looker y cumplir con 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, Looker Action Hub puede mostrar un comportamiento inesperado o no deseado, como consultas pendientes o acciones no disponibles.

Para abordar 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 siguientes soluciones. La solución adecuada o la combinación de soluciones dependerá de la arquitectura de la instancia de Looker:

  • Si Looker Action Hub no puede resolver la instancia alojada por el cliente, es decir, Looker Action Hub 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 de 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 del 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 Action Hub de Looker y enruta esas URLs de devolución de llamada a través de un proxy inverso que tiene el public_host_url como nombre que se puede resolver de forma pública. Este proxy inverso solo acepta solicitudes de las direcciones IP de salida estáticas de Looker Action Hub. 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 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 Looker Action Hub 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 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 apropiada 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 las que admiten los resultados transmitidos o que usan 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 Action Hub de Looker pueda comunicarse con él. Sin embargo, Looker no recomienda esta solución.

Otro motivo por el que es posible que las acciones de transmisión y OAuth no se puedan usar en una instancia de Looker alojada por el cliente es si la instancia usa un certificado SSL emitido por una autoridad certificadora (CA) que no esté 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, verifica las acciones existentes en el repositorio de 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 tu acción
  3. Prueba tu acción
  4. Publica y habilita 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 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

Action Hub de Looker es un servidor Node.js escrito en TypeScript, una pequeña capa sobre el 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 de TypeScript.

Para ejecutar Looker Action Hub, 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, estarás listo para configurar tu entorno de desarrollo. En nuestro ejemplo a continuación, 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 propagar tu directorio con los archivos que necesitarás para ejecutar la acción. Consulta el repositorio de acciones de GitHub para ver un ejemplo de la estructura de archivos.

Looker recomienda que también agregues lo siguiente:

  • Un archivo README que explique el propósito y los medios de autenticación para tu acción
  • Ícono de PNG que se mostrará en el Action Hub de Looker (o el centro de acciones privado en tu instancia de Looker) y en los períodos de entrega de datos de Looker
  • Cualquier archivo para pruebas que desees ejecutar en tu 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 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 llevar a cabo 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 opera la acción y los formatos de datos o de visualización que se deban especificar. 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 de la API /execute. 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 que se puede usar para recopilar información adicional del usuario antes de ejecutar la acción. Los campos que especifiques en el /form aparecerán en la ventana emergente Enviar o Programar cuando los usuarios seleccionen la acción como destino para su entrega de datos.

Si usas la API de acción de Looker, el formato de estos parámetros puede ser diferente.

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

Parámetro Requeridos Descripción Tipo de datos
name Un nombre único para la acción. Debe ser único en todas las acciones de Action Hub de Looker. string
url Una URL absoluta del extremo /execute para esta acción. string
label Es 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. Es el array de parameters de 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. Para administrar el modo en que los usuarios pueden entregar datos a un destino de acción, puedes especificar un atributo de usuario para el cual 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", "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 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. Un valor booleano que determina si la acción se enviará 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 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 se enviará un vínculo de uso único a la acción para poder configurar state para un usuario específico en esta acción. Booleano
usesStreaming No. Un valor booleano que determina si la acción admite resultados de consultas transmitidos. Verifica la columna Can Stream Results Yes/No en la lista de servicios integrados. Las acciones que transmiten resultados pueden requerir la configuración de un servidor 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 transmisión para obtener más información. Booleano
minimumSupportedVersion No. La versión mínima de Looker en la que la acción aparecerá en la lista del Centro de acciones del panel del Administrador. string

Los ejemplos de las acciones de Action Hub de Looker están en GitHub a modo de 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: Esta es una acción que envía una consulta completa. Por ejemplo, la acción Segmentar es una acción a nivel de la consulta.
  • Acción a nivel de la celda: Una acción a nivel de la celda envía el valor de una sola celda específica de una tabla de datos. Este tipo de acción difiere de las acciones de datos, que se pueden definir para dimensiones o medidas mediante el parámetro action. Para enviar información de una celda específica de una tabla, Looker usa etiquetas a fin de asignar acciones a las celdas correspondientes. Las acciones deben especificar las etiquetas que 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 la imagen de un panel. Por ejemplo, la acción de SendGrid envía imágenes del panel por correo electrónico.

Agrega atributos de usuario a las 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 pertenezcan, además del permiso send_to_integration, para ver la acción como una opción de destino cuando se envía o programa contenido.

Para agregar un atributo de usuario a tu acción, haz lo siguiente:

  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. Define un valor válido para el atributo de usuario correspondiente a los usuarios o grupos de usuarios que necesiten enviar contenido al destino de tu 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 en 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 Nombre de la página Atributos de usuario en la sección Usuarios del panel Administrador, required: true significa que un usuario debe tener definido un valor no nulo y válido para ese atributo de usuario a fin de ver la acción al entregar datos, y sensitive: true significa que el atributo de usuario está encriptado y nunca se muestra en la IU de Looker una vez ingresado. Se pueden especificar varios subparámetros de atributos de usuario.

  1. Implementa tus actualizaciones en el servidor de Action Hub.
    • 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 quieres actualizar 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 configuración/habilitación de la acción, un administrador de Looker debe configurar los campos del formulario de la acción para extraer información del atributo de usuario. Para ello, debe hacer clic en el ícono de atributo de usuario que está 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 enviar datos a ese destino de acción. Para ello, especifica las etiquetas que admite tu acción 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 alguna de las etiquetas proporcionadas. string
all_tags No. Si está presente, sustituye 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 para que funcione la acción. Para las acciones a nivel de la consulta, la solicitud contendrá un archivo adjunto que puede tener varios formatos. La acción puede especificar uno o más supportedFormats, o bien 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 con OAuth no se pueden configurar desde Looker Action Hub para las instancias de Looker que tengan habilitada la función Lista de IP permitidas o que no puedan admitir los requisitos de Looker Action Hub. Consulta la página de prácticas recomendadas sobre la configuración de un centro de acciones locales para acciones que usan OAuth o transmisiones si quieres obtener más información sobre la configuración de acciones para OAuth.

Puedes configurar tu acción para que los usuarios puedan autenticarse en la acción con OAuth. Si bien el Action Hub de Looker debe permanecer sin estado, puedes aplicar un estado mediante una solicitud de formulario de la API de acción de Looker.

Flujo de OAuth de la acción de Looker

Para las acciones en Looker Action Hub, puedes extender un OAuthAction en lugar de un Hub.Action para establecer un booleano que indique qué métodos de OAuth se necesitan para autenticar a un usuario en una acción. Para cada acción habilitada o con estado habilitado para OAuth, 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 incluye 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 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.

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 uso único 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 se debe encriptar y guardar 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 OauthUrl de Dropbox.

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 usará si la autenticación muestra un resultado.

Este extremo llamará al método oauthFetchInfo(...), que debe ser implementado por 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 solicite esa acción, el estado guardado recientemente se enviará a Action Hub de Looker.

Agrega tus archivos de acciones al repositorio de Looker Action Hub

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

  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. Cuando escribas tu acción, agrega los requisitos del paquete de Node.js que hayas usado. Por ejemplo:

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

    yarn install
    
  4. Ejecuta todas las pruebas que escribiste.

yarn test

Cómo probar una acción

Para realizar pruebas completas, puedes realizar una acción en tu instancia de Looker mediante el hosting de 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 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 antes mencionados.

Configura un servidor concentrador de acciones locales

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 las funciones con ramas para hacer un seguimiento de tu código con facilidad y, si lo deseas, crear una PR 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 tu 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 se esté ejecutando el centro de acciones. 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, 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 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 la línea de comandos:

    heroku run yarn generate-api-key
    

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

    yarn generate-api-key
    

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

  7. Configura el secreto de tu 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 tu instancia local de Looker, ve a Administrador > Acciones.

    • En la parte inferior de la lista de acciones, haz clic en Add 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 desde Looker, asegúrate de configurar cualquier modelo para incluir el parámetro tags adecuado.

Ya estás listo para 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 una vista. En la vista 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 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 tu acción encuentra un error, aparecerá 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 Looker 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 el ícono de la celda y selecciona en el menú desplegable. Si recibes errores, deberás actualizar por completo la tabla de datos después de solucionarlos.

Publica y habilita una acción personalizada

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

Una vez que se haya publicado tu acción, podrás habilitarla en la página Acciones del panel Administrador.

Publicar en Looker Action Hub

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

Después de que se pruebe 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 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 Envía 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, combinaremos el código en el repositorio looker-open-source/actions y lo implementaremos en actions.looker.com. Una vez implementado, 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.

Publica en un servidor de centro de acciones privado

Si tienes acciones personalizadas que son privadas de 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 concentrador de acciones interno en tu propia infraestructura o mediante una plataforma de aplicaciones basada en la nube (en nuestro ejemplo, Heroku). No olvides bifurcar el Action Hub de Looker en tu servidor privado de centro de acciones antes de la implementación.

Configura un modelo de LookML para usar con una acción

Para las acciones personalizadas y las disponibles en Looker Action Hub, debes identificar los campos de datos relevantes con el parámetro tags en tu modelo de LookML.

La página Acciones del panel Administrador proporcionará información sobre las etiquetas que se requieren para el servicio, si las hubiera.

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 de envío de mensajes de Twilio 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 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 un campo de número de teléfono podría tener el siguiente aspecto:

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 los usuarios puedan usar el servicio y enviar datos.

¿Qué sigue?

Obtén información para publicar el contenido de una vista o una exploración o de un panel a un servicio integrado.