push_stream_message_template

Директива `push_stream_message_template` задаёт шаблон формата сообщения в модуле NGINX Push Stream.

Синтаксисpush_stream_message_template string;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива push_stream_message_template используется для определения строкового шаблона для сообщений, публикуемых в каналы с помощью модуля NGINX Push Stream. При указании этой директивы издатель сообщения может форматировать вывод, включая динамическое содержимое через подстановку переменных. Это особенно полезно для создания структурированных или кастомных форматов сообщений, которые могут содержать такие данные, как временные метки, имена каналов или идентификаторы пользователей.

Чтобы использовать эту директиву, нужно просто передать строку в качестве аргумента, которая может содержать специальные плейсхолдеры, заменяемые значениями во время выполнения. Общие плейсхолдеры включают переменные, такие как $time_local для текущего времени и $channel для имени канала. Формат вывода легко настраивается путём изменения шаблонной строки, что обеспечивает гибкую структуру сообщений.

Установив эту директиву в соответствующем контексте (http, server, location), вы гарантируете, что сообщения, отправляемые подписчикам конкретного канала, соответствуют вашему предопределённому шаблону. Такая гибкость представления может быть критична для приложений, требующих точного взаимодействия между издателями и подписчиками с различными потребностями в данных.

Пример конфига

http {
    push_stream_message_template "[{\"time\": \"$time_local\", \"channel\": \"$channel\", \"message\": \"$message\"}]";
    server {
        location /pub {
            push_stream_publisher;
            push_stream_channels_path $arg_id;
        }
        location ~ /sub/(.*) {
            push_stream_subscriber;
            push_stream_channels_path $1;
        }
    }
}

Убедитесь, что placeholders, используемые в template string, присутствуют в контексте push stream message.

Quotes внутри template string должны быть корректно экранированы, чтобы избежать syntax errors в configuration file.

← Ко всем директивам