Tres formas de implementar acciones personalizadas
Introducción
¿Cuál es la forma más rápida de implementar una acción personalizada? ¿Cuál es la configuración más versátil que le permite personalizar completamente su flujo de trabajo? El entorno que seleccione para capturar y gestionar acciones personalizadas es un factor importante para determinar qué se puede hacer con sus datos en los pasos del flujo de trabajo resultante. Las opciones básicas son las siguientes:
- Implementaciones sin código con una plataforma de automatización como Zapier, Integromat o Microsoft Power Automate.
- Soluciones de bajo código como AWS Lambda o las funciones de Azure, donde puede ejecutar scripts simples como “trabajos” en entornos con un mantenimiento completo.
- Servidores que ejecuta y mantiene.
En este gráfico se muestra la arquitectura para las acciones personalizadas:
<img alt=“Gráfico de acciones personalizadas” src=“//images.ctfassets.net/4a2bckdt649q/775seuYAm5iWc8ToGddzqu/f4abeef79d5ca61b04bd6f65b7593b2f/a73b943-custom_actions_architecture.png”>
Sin código: Implementar en Zapier
La interfaz de tipo “hacer clic y crear” de Zapier es una buena opción para automatizaciones básicas en las que su objetivo es enviar activos, comentarios o eventos de estado desde Frame.io a aplicaciones populares o herramientas de productividad.
<img alt=“Configuración de Zapier” src=“//images.ctfassets.net/4a2bckdt649q/7J4tu37VUNxYkUqcmLM7wZ/1453834e051781da7744b4a885debf15/548d2d6-zapier_catch_webhook.png”>
Ventajas:
- Fácil de usar. Seleccione y haga clic para crear automatizaciones.
- Task history es la herramienta de registro de tiempo de ejecución de Zapier y resume la E/S de datos para cada paso del flujo de trabajo en cada ejecución de automatización.
- Pagar por una cuenta prémium desbloquea Paths, una herramienta para añadir lógica de bifurcación a las automatizaciones.
Inconvenientes:
- La compatibilidad de Zapier para webhooks está restringida en el sentido de que no admitirá mensajes detallados ni ninguna interacción de vuelta al usuario de Frame.io cuando se ejecute su acción personalizada. La limitación se explica en los documentos de asistencia de Zapier:
Nosotros [Zapier] siempre devolvemos un mensaje indicando que la operación se ha realizado correctamente con una carga útil de información de depuración al recopilar un webhook, independientemente de si hay un Zap detrás del webhook o si está pausado o no… No hay forma de personalizar la respuesta a la solicitud que envía a la URL de Catch Hook, ya que la respuesta se envía antes de que el Zap se active y se ejecute en la solicitud del webhook.
- La IU de Zapier puede ser tediosa a la hora de verificar que las acciones personalizadas funcionan correctamente. Por ejemplo, los datos de prueba deben comprobarse y actualizarse durante la prueba; si los datos de prueba no coinciden con los datos en directo, Zapier puede generar “falsos negativos” y mostrar errores incluso cuando el diseño de Zap sea correcto. Si un dato esencial como la
URL del archivono está disponible cuando una tarea lo espera, el Zap puede generar un error o no funcionar de la forma prevista.
Hemos escrito una guía para esto.
Hemos escrito guías exhaustivas sobre cómo diseñar integraciones de Zapier, incluida una guía detallada sobre cómo implementar acciones personalizadas en Zapier.
Bajo código: Implementar en AWS
Las acciones personalizadas se pueden enviar a API Gateway en AWS e integrar con el conjunto notoriamente grande de servicios en la nube de Amazon. El proceso más sencillo consiste en enviar a través de un proxy el evento de Frame.io que contiene la acción personalizada a AWS Lambda, un servicio de computación para ejecutar funciones sin servidor. A continuación, se muestra un ejemplo de diseño para un servicio de almacenamiento de archivos: <img alt=“AWS Lambda” src=“//images.ctfassets.net/4a2bckdt649q/6elz3dJIRNnubtPjVfNF3T/ef59a0b674c90c3edd90b3d379e80102/2ef81ac-action-lambda.png”>
Ventajas:
- El Nivel gratuito de AWS le concede 3,2 millones de segundos de tiempo de computación al mes antes de que se le cobren los servicios.
- API Gateway y Lambdas admiten herramientas fantásticas de pruebas y monitorización como CloudWatch y X-Ray.
- Los servicios pueden escalarse para admitir tamaños de archivos masivos (500 GB o más)
Inconvenientes:
- Unir varios servicios (Webhook -> API Gateway -> Lambda 1 -> Lambda 2) o aprender a usar ofertas más nuevas como AWS Fargate puede llevar mucho tiempo.
- La documentación de AWS a menudo está desactualizada o carece de detalles clave. Por ejemplo, al configurar API Gateway, no es fácil discernir si las cargas útiles estarán codificadas en Base64 o no.
- Por lo general, la configuración es un poco complicada.
Consulte la guía para obtener una descripción detallada sobre cómo implementar acciones personalizadas en AWS. Nota: Puede implementar acciones personalizadas en cualquier servicio de computación en la nube, no solo AWS (Azure, Google Cloud Platform, Digital Ocean, etc.)
Ejecución de un servidor y cómo alojar su propio código
Los servicios en la nube son muy cómodos, pero para flujos de trabajo en los que desea tener control absoluto sobre sus datos, puede que prefiera escribir e implementar su propio servidor.
En el equipo DevRel, nos gusta escribir servidores FastAPI en Python. Son fáciles de crear y una buena opción para el patrón de solicitud-respuesta de acciones personalizadas.
Ventajas:
- Controle el flujo de extremo a extremo de sus datos. Sin sorpresas.
- Sincronice datos en un dispositivo NAS o sistema de archivos sin exposición adicional a la nube.
Inconvenientes:
- Requiere administrar un servidor, crear sus propias funciones de seguridad, gestionar la detección de redes, la carga, etc.
Clone nuestro código de ejemplo para implementar un servidor FastAPI que gestione acciones personalizadas.
Hablemos sobre el mejor diseño para sus necesidades
Publique sus requisitos en nuestra comunidad, estaremos encantados de ayudarle a encontrar el mejor diseño para su flujo de trabajo.