

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

# MediaTailor 参数会话行为和持久性
<a name="parameter-session-behavior"></a>

AWS Elemental MediaTailor 在会话初始化时处理参数，并在整个会话生命周期中对其进行维护。了解会话行为对于实现动态参数场景至关重要。

**会话初始化方法**  
MediaTailor 支持多种使用参数进行会话初始化的方法：

1. **隐式会话初始化：**初始清单请求中包含的参数

   ```
   GET /v1/master/123456789/originId/index.m3u8?manifest.auth_token=abc123&start=2024-08-26T10:00:00Z
   ```

1. **显式会话初始化 (POST)：**请求正文中提供的参数

   ```
   POST /v1/session/123456789/originId/index.m3u8
   {
       "adsParams": {"param1": "value1"},
       "manifestParams": {"auth_token": "abc123"}
   }
   ```

1. **显式会话初始化 (GET)：**作为查询参数提供的参数

   ```
   GET /v1/session/123456789/originId/index.m3u8?ads.param1=value1&manifestParams.auth_token=abc123
   ```

**参数持久性和不可变性**  
MediaTailor 参数行为遵循以下规则：
+ **一次性规范：**参数只能在会话初始化时指定一次
+ **整个会话的持久性：**参数在整个会话中都保持不变
+ **初始化后不可变：**创建会话后无法修改参数
+ **配置别名解析：**在转发到目的地之前，别名会被解析为实际值

**参数修改场景**  
要在播放期间修改参数，请执行以下操作：
+ **创建新会话：**使用更新的参数值初始化新会话
+ **玩家过渡：**将玩家无缝过渡到新会话
+ **参数继承：继承**未更改的参数以保持一致性

**Example 修改时移参数**  
要从 1 小时窗口更改为 2 小时窗口，请执行以下操作：  

1. 当前会话：`start=2024-08-26T10:00:00Z&end=2024-08-26T11:00:00Z`

1. 创建新会话：`start=2024-08-26T10:00:00Z&end=2024-08-26T12:00:00Z`

1. 将玩家过渡到新的会话 URL

**重要**  
针对单个会话的多个多变体播放列表请求不会在第一个请求之后更新参数。参数在会话持续时间内保持不可变。