

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# MediaTailor 參數疑難排解指南
<a name="parameter-troubleshooting"></a>

AWS Elemental MediaTailor 提供在 MediaTailor 中疑難排解常見參數相關問題的指引，包括字元限制、URL 編碼問題和組態別名錯誤。

## 字元限制錯誤
<a name="parameter-character-restriction-errors"></a>

包含不支援字元的參數值可能會導致錯誤或意外行為。

**常見症狀**  
下列症狀可能表示角色限制問題：
+ 未出現在資訊清單 URLs中的參數
+ 工作階段初始化期間的 HTTP 400 錯誤
+ 截斷或損毀的參數值
+ ADS 請求因 URL 格式錯誤而失敗 URLs

**解決步驟**  
若要解決字元限制錯誤：

1. 檢閱不支援字元的參數值：`:`、`?`、`&`、`=`、`%`、 `/`

1. 針對特殊字元套用適當的 URL 編碼 （請參閱 [MediaTailor 參數參考和限制](parameter-comprehensive-reference.md))

1. 避免使用 `%%%`或 等雙字元 `==`

1. 如果無法使用完整 URLs請考慮其他參數格式

**Example URL 編碼範例**  
而不是使用：  

```
manifest.redirect_url=https://example.com/path?param=value
```
使用 URL 編碼格式：  

```
manifest.redirect_url=https%3A%2F%2Fexample.com%2Fpath%3Fparam%3Dvalue
```

## 長度限制錯誤
<a name="parameter-length-limitation-errors"></a>

超過長度限制的參數可能會被截斷或導致錯誤。

**長度限制**  
適用下列長度限制 （如需完整詳細資訊[MediaTailor 參數參考和限制](parameter-comprehensive-reference.md)，請參閱 )：
+ 資訊清單查詢參數 （總計）：2000 個字元
+ ADS 參數名稱：10，000 個字元
+ ADS 參數值：25，000 個字元
+ ADS URLs：25，000 個字元

**解決策略**  
若要處理長度限制：

1. 盡可能使用較短的參數名稱和值

1. 將大型參數值分割成多個較小的參數

1. 使用組態別名將短別名映射至較長的值 （請參閱 [MediaTailor 組態別名概觀](configuration-aliases-overview.md))

1. 考慮將外部儲存用於具有參數參考的大型資料

## 組態別名錯誤
<a name="parameter-configuration-alias-errors"></a>

組態別名問題可能會導致 HTTP 400 錯誤或非預期的參數值。

**常見的組態別名錯誤**  
組態別名經常發生下列錯誤：
+ HTTP 400 錯誤：缺少別名值或其無效
+ 網域變數未正確解析
+ 玩家參數未被別名值取代

**解決方案檢查清單**  
若要解決組態別名錯誤：

1. 確認所有網域變數都定義為 `ConfigurationAliases`

1. 確保玩家參數變數使用`player_params.`字首

1. 確認關鍵 URLs (`VideoContentSourceUrl`、`AdSegmentUrlPrefix`、`ContentSegmentUrlPrefix`) 中網域變數的別名值清單詳盡

1. 檢查工作階段初始化請求是否指定有效的別名值

1. 驗證 ConfigurationAliases 參數的 JSON 結構

如需詳細的故障診斷指引，請參閱 [MediaTailor 組態別名疑難排解指南](configuration-aliases-troubleshooting.md)。

**Example 組態別名驗證**  
確保您的組態包含所有必要的別名：  

```
"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
    }
}
```

## 參數處理流程問題
<a name="parameter-processing-flow-issues"></a>

了解參數處理流程有助於疑難排解參數轉送和轉換的問題。

**參數處理順序**  
MediaTailor 會依下列順序處理參數：

1. 工作階段初始化參數驗證

1. 組態別名解析 （如適用）

1. 參數篩選 (ADS 與原始伺服器與資訊清單）

1. URL 編碼和格式化

1. 至 URLs參數應用程式

**偵錯參數流程**  
若要偵錯參數處理問題：

1. 驗證工作階段初始化中已正確指定參數

1. 檢查組態別名是否解析為預期值

1. 確認參數出現在正確的 URLs中 （資訊清單、ADS、原始伺服器）

1. 驗證 URL 編碼是否正確套用

**Example 參數流程範例**  
工作階段初始化：  

```
POST master.m3u8
{
    "playerParams": {"origin_domain": "pdx"},
    "manifestParams": {"test": "123"}
}
```
別名解析和處理後：  
+ 原始伺服器請求： `https://abc.mediapackage.us-west-2.amazonaws.com/out/v1/abcd`
+ 資訊清單 URL： `/v1/master/.../index.m3u8?aws.sessionId=session&test=123`

## 安全考量和最佳實務
<a name="parameter-security-considerations-troubleshooting"></a>

MediaTailor 會實作參數處理的安全措施，以防止常見的安全問題。

**安全措施**  
MediaTailor 實作下列安全措施：

1. 防止資料庫膨脹的輸入大小限制

1. 使用者輸入的適當編碼和淨化

1. 輸入 URL 編碼以防止回應損毀

**最佳實務**  
遵循以下安全參數處理的最佳實務：
+ 在傳送之前驗證用戶端的參數值
+ 使用組態別名來限制可能的參數值
+ 避免在參數中包含敏感資訊
+ 監控參數用量是否有異常模式
+ 將參數值保持在建議的長度限制內