Модуль transcoder_queues
Модуль создает очереди сообщений Yandex Message Queue (YMQ) для системы транскодирования видео в Yandex Cloud.
Ресурсы, создаваемые модулем
| Ресурс | Описание |
|---|---|
yandex_iam_service_account | Service 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.fifo | FIFO | Очередь для потокового транскодирования (с дедупликацией) |
{prefix}-processed-mq.fifo | FIFO | Очередь для обработанных чанков (с дедупликацией) |
{prefix}-deadletter-mq | Обычная | Очередь для мертвых сообщений |
{prefix}-glue-mq | Обычная | Очередь для операций склейки видео |
Переменные модуля
| Имя переменной | Тип | По умолчанию | Описание |
|---|---|---|---|
provider-zone | string | - | Зона Yandex Cloud (например, ru-central1-a) |
provider-token | string | - | IAM токен для доступа к Yandex Cloud |
provider-cloudid | string | - | ID облака |
provider-folderid | string | - | ID папки в Yandex Cloud |
prefix | string | - | Префикс для имен очередей (например, medikt-net) |
video_retention_seconds | number | 1209600 (14 дней) | Срок хранения сообщений в очереди video до автоматического удаления |
chunks_retention_seconds | number | 1209600 (14 дней) | Срок хранения сообщений в очередях chunks и chunks_low |
status_retention_seconds | number | 1209600 (14 дней) | Срок хранения сообщений в очереди status |
stream_retention_seconds | number | 1209600 (14 дней) | Срок хранения сообщений в очереди stream |
processed_retention_seconds | number | 1209600 (14 дней) | Срок хранения сообщений в очереди processed |
glue_retention_seconds | number | 1209600 (14 дней) | Срок хранения сообщений в очереди glue |
Влияние переменных на ресурсы
prefix— влияет на имена всех создаваемых очередей и service accountprovider-*переменные — используются для аутентификации в Yandex Cloud при создании ресурсов*_retention_secondsпеременные — определяют параметрmessage_retention_secondsдля соответствующих очередей
Выводы (Outputs)
| Имя вывода | Значение |
|---|---|
video_id | ID очереди video |
chunks_id | ID очереди chunks |
chunks_arn | ARN очереди chunks |
chunks_low_id | ID очереди chunks_low |
chunks_low_arn | ARN очереди chunks_low |
status_id | ID очереди status |
stream_id | ID очереди stream |
processed_id | ID очереди processed |
deadletter_id | ID очереди deadletter |
glue_id | ID очереди 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
}