本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
修复 CDN 会话管理和跟踪问题 MediaTailor
AWS Elemental MediaTailor 内容分发网络 (CDN) 会话管理对于适当的广告个性化和跟踪至关重要。如果您遇到与会话相关的错误或请求中的行为不一致:
-
检查会话 ID 的一致性:
-
确认您的播放器在单个播放会话的所有请求中都保持相同的会话 ID
-
检查 CDN 日志以确认会话 IDs 已正确转发
-
确保 IDs 在查询参数中对会话进行了正确的 URL 编码
-
使用 CloudWatch 日志验证请求间的会话 ID 一致性(参见下面的验证步骤)
-
-
验证会话初始化:
-
确认第一个清单请求成功创建了会话
-
检查会话参数转发是否正确(例如,
aws.sessionId) -
使用调试日志验证会话初始化(参见下面的调试日志设置)
-
-
启用调试日志以进行详细的会话故障排除:
-
对于服务器端报告:
?aws.logMode=DEBUG添加到您的播放请求中:GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.logMode=DEBUG -
对于客户端报告:包含
"logMode": "DEBUG"在会话初始化请求正文中 -
重要:该
DEBUG值区分大小写 -
最多允许 10 个活动调试会话同时进行
-
-
使用 CloudWatch 日志查询来验证会话行为:
-
验证调试会话是否处于活动状态:
fields @timestamp, @message | filter sessionId = "your-session-id-here" | filter eventType = "SESSION_INITIALIZED" # client-side reporting or mediaTailorPath like "/v1/master" # server-side reporting HLS or mediaTailorPath like "/v1/dash" # server-side reporting DASH -
查看会话的所有活动:
fields @timestamp, @message, eventType, mediaTailorPath | filter sessionId = "your-session-id-here" | sort @timestamp asc -
检查会话的清单生成:
fields @timestamp, responseBody, @message | filter mediaTailorPath like "/v1/master/" and eventType = "GENERATED_MANIFEST" and sessionId = "your-session-id-here"
-
-
通过 CDN 转发测试会话参数:
-
直接针对会话参数测试清单请求 MediaTailor(绕过 CDN)
-
比较使用 CDN 和不使用 CDN 的会话行为,以确定转发问题
-
验证 CDN 查询参数转发配置包括会话相关参数
-
检查 CDN 是否未缓存本应特定于会话的响应
-
常见的会话错误消息:
-
ConflictException(HTTP 409)-同一会话的多个同步播放列表请求。解决方案:确保您的玩家按照 HLS 规范逐个请求播放列表 -
NotFoundException(HTTP 404)-会话不可用或配置不存在。解决方案:检查您的配置有效性并重新初始化会话 -
BadRequestException(HTTP 400)-会话 ID 无效或请求格式不正确。解决方案:验证请求格式和会话 ID 的有效性
其他疑难解答资源:
-
有关完整的调试日志记录设置和字段参考,请参阅 生成 AWS Elemental MediaTailor 调试日志
-
有关 CloudWatch 日志查询示例和日志分析,请参阅 将 AWS Elemental MediaTailor 日志直接写入 Amazon CloudWatch 日志
-
有关 CDN 查询参数转发配置,请参阅 为以下各项设置 CDN 路由行为 MediaTailor
-
有关全面的错误代码参考,请参阅 对播放进行故障排除 MediaTailor
成功标准:解决后,会话应正确初始化, IDs 在请求之间保持会话的一致性,调试日志应显示正确SESSION_INITIALIZED的事件和清单生成而不会出现错误。