

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 修复 CDN 会话管理和跟踪问题 MediaTailor
<a name="diagnose-session-issues"></a>

AWS Elemental MediaTailor 内容分发网络 (CDN) 会话管理对于适当的广告个性化和跟踪至关重要。如果您遇到与会话相关的错误或请求中的行为不一致：

1. 检查会话 ID 的一致性：
   + 确认您的播放器在单个播放会话的所有请求中都保持相同的会话 ID
   + 检查 CDN 日志以确认会话 IDs 已正确转发
   + 确保 IDs 在查询参数中对会话进行了正确的 URL 编码
   + 使用 CloudWatch 日志验证请求间的会话 ID 一致性（参见下面的验证步骤）

1. 验证会话初始化：
   + 确认第一个清单请求成功创建了会话
   + 检查会话参数转发是否正确（例如，`aws.sessionId`）
   + 使用调试日志验证会话初始化（参见下面的调试日志设置）

1. 启用调试日志以进行详细的会话故障排除：
   + **对于服务器端报告：**`?aws.logMode=DEBUG`添加到您的播放请求中：

     ```
     GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.logMode=DEBUG
     ```
   + **对于客户端报告：**包含`"logMode": "DEBUG"`在会话初始化请求正文中
   + **重要：**该`DEBUG`值区分大小写
   + 最多允许 10 个活动调试会话同时进行

1. 使用 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"
     ```

1. 通过 CDN 转发测试会话参数：
   + 直接针对会话参数测试清单请求 MediaTailor（绕过 CDN）
   + 比较使用 CDN 和不使用 CDN 的会话行为，以确定转发问题
   + 验证 CDN 查询参数转发配置包括会话相关参数
   + 检查 CDN 是否未缓存本应特定于会话的响应

**常见的会话错误消息：**
+ `ConflictException`(HTTP 409)-同一会话的多个同步播放列表请求。**解决方案：**确保您的玩家按照 HLS 规范逐个请求播放列表
+ `NotFoundException`(HTTP 404)-会话不可用或配置不存在。**解决方案：**检查您的配置有效性并重新初始化会话
+ `BadRequestException`(HTTP 400)-会话 ID 无效或请求格式不正确。**解决方案：**验证请求格式和会话 ID 的有效性

**其他疑难解答资源：**
+ 有关完整的调试日志记录设置和字段参考，请参阅 [正在生成 AWS Elemental MediaTailor 调试日志](debug-log-mode.md)
+ 有关 CloudWatch 日志查询示例和日志分析，请参阅 [编写 AWS Elemental MediaTailor 直接登录到 Amazon CloudWatch 日志](monitoring-cw-logs.md)
+ 有关 CDN 查询参数转发配置，请参阅 [为以下各项设置 CDN 路由行为 MediaTailor](cdn-routing-behaviors.md)
+ 有关全面的错误代码参考，请参阅 [对播放进行故障排除 MediaTailor](playback-errors.md)

**成功标准：**解决后，会话应正确初始化， IDs 在请求之间保持会话的一致性，调试日志应显示正确`SESSION_INITIALIZED`的事件和清单生成而不会出现错误。