Три способа развертывания пользовательских действий

Введение

Какой самый быстрый способ развернуть пользовательское действие?Какая наиболее универсальная настройка позволяет полностью настроить рабочий процесс? Среда, которую вы выбираете для перехвата и обработки пользовательских действий, является важным фактором, определяющим возможности работы с данными на последующих этапах рабочего процесса. Основные варианты:

  1. Развертывания без кода с использованием платформ автоматизации, например Zapier, Integromat или Microsoft Power Automate.
  2. Решения с минимальным кодом, например AWS Lambda или «Функции Azure», где можно запускать такие простые сценарии, как «задачи» в полностью управляемых средах.
  3. Запускаемые и обслуживаемые серверы

Эта диаграмма показывает архитектуру для пользовательских действий:

Диаграмма пользовательских действий

Без кода: развертывание в Zapier

Интерфейс Zapier «нажми и создай» — это хороший выбор для базовых автоматизаций, где цель заключается в отправке ресурсов, комментариев или событий состояния из Frame.io в популярные приложения или инструменты повышения продуктивности.

Настройка Zapier

Преимущества

  • Простота использования. Нажимайте и создавайте автоматизации.
  • Task history — это инструмент журнала выполнения Zapier, который создает сводку по вводу/выводу данных для каждого шага рабочего процесса при каждом запуске автоматизации.
  • Оплата учетной записи уровня премиум открывает доступ к Paths — инструменту для создания логики разветвления в автоматизациях.

Недостатки

  • Поддержка веб-перехватчиков в Zapier ограничена. Она не поддерживает создание подробных сообщений или какое-либо взаимодействие с пользователем Frame.io при выполнении вашего пользовательского действия. Причины ограничения объясняются в документах поддержки Zapier:
Мы [Zapier] всегда возвращаем сообщение о выполнении с полезной нагрузкой, содержащей отладочную информацию, при сборе веб-перехватчика — независимо от того, есть ли за этим веб-перехватчиком активный Zap, или он приостановлен… Нет способа настроить ответ на запрос, который вы отправляете на URL-адрес Catch Hook, поскольку ответ отправляется до того, как Zap запускается и выполняет обработку запроса веб-перехватчика.
  • Пользовательский интерфейс Zapier может быть рутинным при проверке правильной работы пользовательских действий. Например, Test Data требует проверки и обновления во время тестирования. Если данные теста не соответствуют данным в реальном времени, Zapier может выдавать ложно-отрицательные значения и ошибки, даже когда логический процесс Zap настроен верно. Если критически важная часть данных, например URL-адрес файла недоступна, когда задача ожидает, Zap может выдать ошибку или не функционировать должным образом.
Мы создали полезное руководство!

Мы предоставляем подробные руководства о том, как создавать интеграции Zapier, включая детальное руководство Развертывание пользовательских действий в Zapier.

Минимальный код: развертывание в AWS

Пользовательские действия можно отправить в API-интерфейс Gateway в AWS и интегрировать с тем самым внушительным набором облачных сервисов Amazon. Самый простой подход — проксировать событие Frame.io, содержащееся в пользовательском действии, в AWS Lambda — вычислительном сервисе для выполнения бессерверных функций. Пример проектирования для сервиса файлового архива: AWS Lambda

Преимущества:

  • AWS Free Tier предоставляет вам 3,2 млн секунд вычислительного времени в месяц, прежде чем с вас будет взиматься плата.
  • API-интерфейс Gateway и сервисы Lambda поддерживают отличные инструменты тестирования и мониторинга, например CloudWatch и X-Ray.
  • Сервисы можно масштабировать для поддержки файлов огромных размеров (более 500 ГБ)

Недостатки

  • Объединение нескольких сервисов (Веб-перехватчик -> API-интерфейс Gateway -> Lambda 1 -> Lambda 2) или изучение использования более новых решений, например AWS Fargate, может занимать много времени.
  • Документация AWS часто бывает устаревшей или не содержит ключевых деталей. Например, при настройке API-интерфейс Gateway непросто понять, будут полезные нагрузки закодированы в Base64 или нет.
  • В целом, настройка довольно сложная.

См. руководство для полного пошагового выполнения развертывания пользовательских действий в AWS. Примечание. Можно развернуть пользовательские действия в любом облачном вычислительном сервисе, не только в AWS (Azure, Google Cloud Platform, Digital Ocean и т. д.)

Запуск сервера и размещение собственного кода

Облачные сервисы очень удобны, но для рабочих процессов, где требуется полный контроль над данными, можно написать и развернуть собственный сервер.

В команде DevRel нам нравится создавать серверы FastAPI на Python. Их легко создавать, и они хорошо подходят для схемы «запрос-ответ», используемой в пользовательских действиях.

Преимущества:

  • Управление сквозным потоком данных. Никаких неожиданностей.
  • Синхронизация данных с NAS или файловой системой без дополнительного доступа в облако.

Недостатки

  • Требуется администрирование сервера, создание собственных функций безопасности, обработка сетевого обнаружения, нагрузки и т. д.

Клонируйте наш Образец кода для развертывания сервера FastAPI для обработки пользовательских действий.

Теперь обсудим лучшее решение для ваших требований

Опубликуйте ваши требования в нашем сообществе, мы будем рады помочь вам найти лучшее решение для вашего рабочего процесса.