push_stream_message_template
`push_stream_message_template` 指令为 NGINX Push Stream 模块中的消息格式设置模板。
NGINX push stream module
·
httpserverlocation
语法push_stream_message_template string;
默认值none
上下文http, server, location
参数1
说明
push_stream_message_template 指令用于为通过 NGINX Push Stream 模块发布到通道的消息定义模板字符串。指定此指令后,消息发布者可以通过变量替换在输出中包含动态内容来格式化消息。这对于创建结构化或自定义的消息格式非常有用,例如包含时间戳、通道名或用户 ID 等信息。
要使用此指令,只需提供一个字符串作为参数,该字符串可以包含在运行时被替换为具体值的占位符。常见占位符包括诸如 $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;
}
}
}⚠
确保模板字符串中使用的占位符在推送流消息的上下文中存在。
⚠
模板字符串中的引号需要正确转义,以避免配置文件中的语法错误。