Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
    • Функция
    • Вызов функции
    • Асинхронный вызов функции
    • Долгоживущие функции
    • Уведомления о завершении выполнения функции
    • Сетевое взаимодействие
    • Монтирование внешних ресурсов на файловую систему функции
    • Сборщик
      • Обзор
      • Таймер
      • Триггер для Message Queue
      • Триггер для Object Storage
      • Триггер для Container Registry
      • Триггер для Cloud Logging
      • Триггер для Yandex IoT Core
      • Триггер для бюджетов
      • Триггер для Data Streams
      • Триггер для почты
    • Dead Letter Queue
    • Логи функции
    • Резервное копирование
    • Квоты и лимиты
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

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

  • Роли, необходимые для корректной работы триггера для Message Queue
  • Формат сообщения от триггера Message Queue
  • Примеры использования
  • См. также
  1. Концепции
  2. Триггер
  3. Триггер для Message Queue

Триггер для Message Queue, который передает сообщения в функцию Cloud Functions

Статья создана
Yandex Cloud
Улучшена
Обновлена 2 апреля 2025 г.
  • Роли, необходимые для корректной работы триггера для Message Queue
  • Формат сообщения от триггера Message Queue
  • Примеры использования
  • См. также

Триггер для Message Queue предназначен для разгрузки очереди сообщений. Он принимает сообщения из очереди и передает их в функцию Cloud Functions для обработки. После успешной обработки триггер удаляет сообщения из очереди, а при ошибке — возвращает сообщения в очередь через таймаут видимости. Если для очереди не настроена Dead Letter Queue, сообщение будет повторно передаваться в функцию, пока успешно не обработается или не закончится срок его хранения.

Важно

  • Триггер можно создать только для стандартной очереди сообщений.
  • Триггер должен находиться в одном облаке с очередью, из которой он читает сообщения.
  • Для одной очереди сообщений можно создать только один триггер.

Запросы к очереди сообщений при работе триггера не тарифицируются.

Триггеру для Message Queue необходимы сервисные аккаунты для чтения из очереди сообщений и вызова функции. Вы можете использовать один и тот же сервисный аккаунт для обеих операций.

О том, как создать триггер для Message Queue, читайте в инструкции Создать триггер для Message Queue, который передает сообщения в функцию Cloud Functions.

Роли, необходимые для корректной работы триггера для Message QueueРоли, необходимые для корректной работы триггера для Message Queue

  • Для создания триггера вам необходимы:
    • Роль viewer на каталог с очередью сообщений, из которой триггер читает сообщения.
    • Роль viewer на каталог с функцией, которые вызывает триггер.
    • Разрешение на сервисный аккаунт, от имени которого триггер выполняет операции. Это разрешение входит в роли iam.serviceAccounts.user, editor и выше.
  • Для работы триггера сервисным аккаунтам необходимы роли:
    • editor на каталог с очередью сообщений, из которой триггер читает сообщения.
    • functions.functionInvoker на каталог с функцией, которую вызывает триггер.

Подробнее об управлении доступом.

Формат сообщения от триггера Message QueueФормат сообщения от триггера Message Queue

После того как триггер примет сообщение из очереди, он передаст его в функцию в следующем формате:

{
   "messages":[
      {
         "event_metadata":{
            "event_id":"cce76685-5828-4304-a83d-9564********",
            "event_type":"yandex.cloud.events.messagequeue.QueueMessage",
            "created_at":"2019-09-24T00:54:28.980441Z",
            "cloud_id":"b1gvlrnlh2sd********",
            "folder_id":"b1g88tflh2sd********",         
         },
         "details":{
            "queue_id":"yrn:yc:ymq:ru-central1:21i6v06sqmsa********:event-queue",
            "message":{
               "message_id":"cce76685-5828-4304-a83d-9564********",
               "md5_of_body":"d29343907090dff4cec4a9a0********",
               "body":"message body",
               "attributes":{
                  "SentTimestamp":"1569285804456"
               },
               "message_attributes":{
                  "messageAttributeKey":{
                     "data_type":"StringValue",
                     "string_value":"value"
                  }
               },
               "md5_of_message_attributes":"83eb2d0afefb150c1ffe69f6********"
            }
         }
      },
      {
         "event_metadata":{
            "event_id":"1f32fd25-11fc-4c08-88e7-d871********",
            "event_type":"yandex.cloud.events.messagequeue.QueueMessage",
            "created_at":"2019-09-24T00:54:28.980492Z",
            "cloud_id":"b1gvlrnlh2sd********",
            "folder_id":"b1g88tflh2sd********",
         },
         "details":{
            "queue_id":"yrn:yc:ymq:ru-central1:21i6v06sqmsa********:event-queue",
            "message":{
               "message_id":"1f32fd25-11fc-4c08-88e7-d871********",
               "md5_of_body":"d29343907090dff4cec4a9a0********",
               "body":"message body",
               "attributes":{
                  "SentTimestamp":"1569285806456"
               },
               "message_attributes":{
                  "messageAttributeKey":{
                     "data_type":"StringValue",
                     "string_value":"value"
                  }
               },
               "md5_of_message_attributes":"83eb2d0afefb150c1ffe69f6********"
            }
         }
      }
   ]
}

Примеры использованияПримеры использования

  • Создание триггеров, которые вызывают функции Cloud Functions для остановки ВМ и отправки уведомлений в Telegram
  • Конвертация видео в GIF на Python

См. такжеСм. также

  • Триггер для Message Queue, который передает сообщения в контейнер Serverless Containers
  • Триггер для Message Queue, который отправляет сообщения в WebSocket-соединения

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

Предыдущая
Таймер
Следующая
Триггер для Object Storage
Проект Яндекса
© 2025 ООО «Яндекс.Облако»