Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • VibeCraft
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex API Gateway
  • Начало работы
    • Все инструкции
    • Создание API-шлюза
      • Создать таймер
      • Создать триггер для Message Queue
      • Создать триггер для Object Storage
      • Создать триггер для Container Registry
      • Создать триггер для Cloud Logging
      • Создать триггер для бюджетов
      • Создать триггер для Data Streams
      • Создать триггер для почты
      • Создать триггер для Telegram
    • Просмотр операций с ресурсами сервиса
  • Управление доступом
  • Инструменты
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Создать триггер
  • Проверить результат
  1. Пошаговые инструкции
  2. Создание триггера
  3. Создать триггер для Object Storage

Создать триггер для Object Storage, который отправляет сообщения в WebSocket-соединения

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 18 сентября 2026 г.
Открыть в Markdown
  • Перед началом работы
  • Создать триггер
  • Проверить результат

Создайте триггер для Object Storage, который будет отправлять сообщения в WebSocket-соединения при создании, перемещении или удалении объекта в бакете.

Перед началом работыПеред началом работы

Для создания триггера вам понадобятся:

  • API-шлюз. Сообщения будут отправляться в WebSocket-соединения, подключенные к API-шлюзу по пути, указанному в настройках триггера. Если у вас нет API-шлюза, создайте его.

    Примечание

    Триггер не вызывает API-шлюз при отправке сообщений в WebSocket-соединения.

  • Сервисный аккаунт с ролью api-gateway.websocketBroadcaster. Если у вас нет сервисного аккаунта, создайте его.

  • Бакет, при событиях с объектами в котором триггер будет запускаться. Если у вас нет бакета, создайте его с ограниченным доступом.

Создать триггерСоздать триггер

Примечание

Триггер начинает работать в течение 5 минут после создания.

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, в котором хотите создать триггер.

  2. Перейдите в сервис API Gateway.

  3. На панели слева выберите Триггеры.

  4. Нажмите кнопку Создать триггер.

  5. В блоке Базовые параметры:

    • Введите имя и описание триггера.

    • В поле Метки нажмите кнопку Добавить метку и укажите метки в формате ключ: значение.

    • В поле Тип выберите Object Storage.

  6. В блоке Настройки Object Storage:

    • В поле Бакет выберите бакет, для событий с объектами которого хотите создать триггер.
    • В поле Типы событий выберите события, после наступления которых триггер будет запускаться.
    • (Опционально) В поле Префикс ключа объекта введите префикс для фильтрации.
    • (Опционально) В поле Суффикс ключа объекта введите суффикс для фильтрации.
  7. В блоке Настройки группирования сообщений укажите:

    • Время ожидания, с. Допустимые значения от 1 до 60 секунд, значение по умолчанию — 1 секунда.
    • Размер группы. Допустимые значения от 1 до 1000, значение по умолчанию — 1.

    Триггер группирует события не дольше указанного времени ожидания и отправляет их в приемник. Число событий при этом не превышает указанный размер группы.

  8. В блоке Приёмники:

    1. В поле Тип приёмника выберите API-шлюз.

    2. В блоке Настройки API-шлюза:

      • В поле API-шлюз выберите API-шлюз.
      • В поле Путь укажите путь в OpenAPI-спецификации. Через WebSocket-соединения, которые установлены по этому пути, будут отправляться сообщения.
      • В поле Сервисный аккаунт выберите сервисный аккаунт, от имени которого в WebSocket-соединения будут отправляться сообщения.
    3. (Опционально) В поле Фильтр укажите jq-шаблон для фильтрации событий, передаваемых в приемник. Если фильтр не указан, в приемник передаются все события.

    4. (Опционально) В поле Шаблон преобразования укажите jq-шаблон для преобразования событий перед отправкой в приемник. Если шаблон не указан, события не преобразуются.

  9. Нажмите кнопку Создать триггер.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

Чтобы создать триггер, который отправляет сообщения в WebSocket-соединения, выполните команду:

  yc serverless trigger create object-storage \
    --name <имя_триггера> \
    --bucket-id <идентификатор_бакета> \
    --prefix '<префикс_ключа_объекта>' \
    --suffix '<суффикс_ключа_объекта>' \
    --events 'create-object','delete-object','update-object' \
    --batch-size <размер_группы> \
    --batch-cutoff <максимальное_время_ожидания> \
    --gateway-id <идентификатор_API-шлюза> \
    --gateway-websocket-broadcast-path <путь> \
    --gateway-websocket-broadcast-service-account-id <идентификатор_сервисного_аккаунта>

Где:

  • --name — имя триггера.
  • --bucket-id — идентификатор бакета.
  • --prefix — префикс ключа объекта в бакете. Необязательный параметр. Используется для фильтрации.
  • --suffix — суффикс ключа объекта в бакете. Необязательный параметр. Используется для фильтрации.
  • --events — события, после наступления которых триггер запускается.
  • --batch-size — размер группы событий. Необязательный параметр. Допустимые значения от 1 до 1000, значение по умолчанию — 1.
  • --batch-cutoff — максимальное время ожидания. Необязательный параметр. Допустимые значения от 1 до 60 секунд, значение по умолчанию — 1 секунда. Триггер группирует события не дольше batch-cutoff и отправляет их в WebSocket-соединения. Число событий при этом не превышает batch-size.
  • --gateway-id — идентификатор API-шлюза.
  • --gateway-websocket-broadcast-path — путь в OpenAPI-спецификации. Через WebSocket-соединения, которые установлены по этому пути, будут отправляться сообщения.
  • --gateway-websocket-broadcast-account-id — идентификатор сервисного аккаунта с правами на отправку сообщений в WebSocket-соединения.

Результат:

id: a1s5msktijh2********
folder_id: b1gmit33hgh2********
created_at: "2023-08-24T15:19:15.353909857Z"
name: os-trigger
rule:
  object_storage:
    event_type:
    - OBJECT_STORAGE_EVENT_TYPE_CREATE_OBJECT
    - OBJECT_STORAGE_EVENT_TYPE_DELETE_OBJECT
    - OBJECT_STORAGE_EVENT_TYPE_UPDATE_OBJECT
    bucket_id: s3-for-trigger
    prefix: dev
    suffix: 12.jpg
    batch_settings:
      size: "3"
      cutoff: 20s
    gateway_websocket_broadcast:
      gateway_id: d4eofc7n0mh2********
      path: /
      service_account_id: aje3932acdh2********
status: ACTIVE

Чтобы создать триггер для Object Storage, воспользуйтесь методом REST API create для ресурса Trigger или вызовом gRPC API TriggerService/Create.

Проверить результатПроверить результат

Проверьте, что триггер работает корректно. Для этого посмотрите логи API-шлюза, в них отображается информация об обращениях к нему.

Полезные ссылкиПолезные ссылки

  • Триггер для Object Storage, который вызывает функцию Cloud Functions
  • Триггер для Object Storage, который вызывает контейнер Serverless Containers

Была ли статья полезна?

Предыдущая
Создать триггер для Message Queue
Следующая
Создать триггер для Container Registry
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»