Skip to main content
Version: 1.12-grodno (current)

Модуль transcoder_queues

Модуль создает очереди сообщений Yandex Message Queue (YMQ) для системы транскодирования видео в Yandex Cloud.


Ресурсы, создаваемые модулем

РесурсОписание
yandex_iam_service_accountService Account с ролью ymq.admin для доступа к очередям
yandex_iam_service_account_static_access_keyСтатические access/secret ключи для программного доступа
yandex_message_queue (8 шт.)Очереди сообщений YMQ

Очереди сообщений

Имя очередиТипНазначение
{prefix}-video-mqОбычнаяОчередь для отправки задач транскодирования видео
{prefix}-chunks-mqОбычнаяОчередь для чанков высокого приоритета
{prefix}-chunks-low-priority-mqОбычнаяОчередь для чанков низкого приоритета
{prefix}-status-mqОбычнаяОчередь для статусов транскодирования
{prefix}-stream-mq.fifoFIFOОчередь для потокового транскодирования (с дедупликацией)
{prefix}-processed-mq.fifoFIFOОчередь для обработанных чанков (с дедупликацией)
{prefix}-deadletter-mqОбычнаяОчередь для мертвых сообщений
{prefix}-glue-mqОбычнаяОчередь для операций склейки видео

Переменные модуля

Имя переменнойТипПо умолчаниюОписание
provider-zonestring-Зона Yandex Cloud (например, ru-central1-a)
provider-tokenstring-IAM токен для доступа к Yandex Cloud
provider-cloudidstring-ID облака
provider-folderidstring-ID папки в Yandex Cloud
prefixstring-Префикс для имен очередей (например, medikt-net)
video_retention_secondsnumber1209600 (14 дней)Срок хранения сообщений в очереди video до автоматического удаления
chunks_retention_secondsnumber1209600 (14 дней)Срок хранения сообщений в очередях chunks и chunks_low
status_retention_secondsnumber1209600 (14 дней)Срок хранения сообщений в очереди status
stream_retention_secondsnumber1209600 (14 дней)Срок хранения сообщений в очереди stream
processed_retention_secondsnumber1209600 (14 дней)Срок хранения сообщений в очереди processed
glue_retention_secondsnumber1209600 (14 дней)Срок хранения сообщений в очереди glue

Влияние переменных на ресурсы

  • prefix — влияет на имена всех создаваемых очередей и service account
  • provider-* переменные — используются для аутентификации в Yandex Cloud при создании ресурсов
  • *_retention_seconds переменные — определяют параметр message_retention_seconds для соответствующих очередей

Выводы (Outputs)

Имя выводаЗначение
video_idID очереди video
chunks_idID очереди chunks
chunks_arnARN очереди chunks
chunks_low_idID очереди chunks_low
chunks_low_arnARN очереди chunks_low
status_idID очереди status
stream_idID очереди stream
processed_idID очереди processed
deadletter_idID очереди deadletter
glue_idID очереди glue

Redrive Policy

Для очередей video, chunks, chunks_low, glue настроен redrive policy:

{
"deadLetterTargetArn": "arn:...:{prefix}-deadletter-mq",
"maxReceiveCount": 3
}

После 3 неуспешных попыток обработки сообщение автоматически перемещается в очередь deadletter.


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

module "transcoder_queues" {
source = "../modules/transcoder_queues"

provider-zone = "ru-central1-a"
provider-token = var.iam_token
provider-cloudid = var.cloud_id
provider-folderid = var.folder_id
prefix = "medikt-net"
video_retention_seconds = 1209600
chunks_retention_seconds = 1209600
status_retention_seconds = 1209600
stream_retention_seconds = 1209600
processed_retention_seconds = 1209600
glue_retention_seconds = 1209600
}