本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MediaTailor 参数疑难解答指南
AWS Elemental MediaTailor 为解决中与参数相关的常见问题提供指导 MediaTailor,包括字符限制、URL 编码问题和配置别名错误。
字符限制错误
包含不支持的字符的参数值可能会导致错误或意外行为。
常见症状
以下症状可能表明存在字符限制问题:
-
参数未出现在清单 URL 中
-
会话初始化期间 HTTP 400 错误
-
参数值被截断或损坏
-
由于 URL 格式不正确,ADS 请求失败
解决步骤
要解决字符限制错误,请执行以下操作:
-
查看不支持的字符的参数值:
:、?、&、=、%/ -
正确使用 URL-encoding 特殊字符(参见MediaTailor 参数参考和限制)
-
避免使用双字符,例如
%%%或== -
如果无法使用完整的 URL,请考虑使用其他参数格式
例网址编码示例
而不是使用:
manifest.redirect_url=https://example.com/path?param=value
使用 URL-encoded 格式:
manifest.redirect_url=https%3A%2F%2Fexample.com%2Fpath%3Fparam%3Dvalue
长度限制错误
超过长度限制的参数可能会被截断或导致错误。
长度限制
以下长度限制适用(有关完整MediaTailor 参数参考和限制详细信息,请参见):
-
清单查询参数(总计):2000 个字符
-
ADS 参数名称:10,000 个字符
-
ADS 参数值:25,000 个字符
-
广告网址:25,000 个字符
解决策略
要处理长度限制,请执行以下操作:
-
尽可能使用较短的参数名称和值
-
将较大的参数值拆分成多个较小的参数
-
使用配置别名将短别名映射到较长的值(参见)MediaTailor 配置别名概述
-
考虑使用外部存储来存储带有参数引用的大型数据
配置别名错误
配置别名问题可能导致 HTTP 400 错误或意外的参数值。
常见的配置别名错误
配置别名通常会出现以下错误:
-
HTTP 400 错误:别名值缺失或无效
-
域变量无法正确解析
-
玩家参数未替换为别名值
分辨率清单
要解决配置别名错误,请执行以下操作:
-
验证所有域变量均定义为
ConfigurationAliases -
确保玩家参数变量使用
player_params.前缀 -
确认关键 URL 中的域变量的别名值列表是详尽无遗的 (
VideoContentSourceUrl,,AdSegmentUrlPrefix)ContentSegmentUrlPrefix -
检查会话初始化请求是否指定了有效的别名值
-
验证 ConfigurationAliases 参数的 JSON 结构
有关详细的故障排除指南,请参阅MediaTailor 配置别名疑难解答指南。
例配置别名验证
确保您的配置包含所有必需的别名:
"ConfigurationAliases": { "player_params.origin_domain": { "pdx": "abc.mediapackage.us-west-2.amazonaws.com", "iad": "xyz.mediapackage.us-east-1.amazonaws.com" // Must include all possible values used in session initialization } }
参数处理流程问题
了解参数处理流程有助于解决参数转发和转换的问题。
参数处理顺序
MediaTailor 按以下顺序处理参数:
-
会话初始化参数验证
-
配置别名解析(如果适用)
-
参数过滤(ADS vs Origin vs 清单)
-
URL 编码和格式
-
将参数应用到 URL
调试参数流
要调试参数处理问题,请执行以下操作:
-
验证会话初始化中是否正确指定了参数
-
检查配置别名是否解析为预期值
-
确认参数出现在正确的网址中(清单、广告、来源)
-
验证是否正确应用了 URL 编码
例参数流示例
会话初始化:
POST master.m3u8 { "playerParams": {"origin_domain": "pdx"}, "manifestParams": {"test": "123"} }
在别名解析和处理之后:
-
来源请求:
https://abc.mediapackage.us-west-2.amazonaws.com/out/v1/abcd -
清单网址:
/v1/master/.../index.m3u8?aws.sessionId=session&test=123
安全性注意事项和最佳实践
MediaTailor 为参数处理实施安全措施,以防止常见的安全问题。
安全措施
MediaTailor 实施以下安全措施:
-
输入大小限制以防止数据库膨胀
-
对用户输入进行正确编码和消毒
-
URL-encoding 输入以防止响应损坏
最佳实践
请遵循以下安全参数处理的最佳实践:
-
发送前在客户端验证参数值
-
使用配置别名限制可能的参数值
-
避免在参数中包含敏感信息
-
监控异常模式的参数使用情况
-
将参数值保持在建议的长度限制内