本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MediaTailor 參數疑難排解
AWS Elemental MediaTailor 提供在 MediaTailor 中疑難排解常見參數相關問題的指引,包括字元限制、URL 編碼問題和組態別名錯誤。
字元限制錯誤
包含不支援字元的參數值可能會導致錯誤或意外行為。
常見症狀
下列症狀可能表示角色限制問題:
-
未出現在資訊清單 URLs中的參數
-
工作階段初始化期間的 HTTP 400 錯誤
-
截斷或損毀的參數值
-
ADS 請求因 URL 格式錯誤而失敗 URLs
解決步驟
若要解決字元限制錯誤:
-
檢閱不支援字元的參數值:
:
、?
、&
、=
、%
、/
-
針對特殊字元套用適當的 URL 編碼 (請參閱 MediaTailor 參數參考和限制)
-
避免使用
%%%
或 等雙字元==
-
如果無法使用完整 URLs請考慮其他參數格式
範例 URL 編碼範例
而不是使用:
manifest.redirect_url=https://example.com/path?param=value
使用 URL 編碼格式:
manifest.redirect_url=https%3A%2F%2Fexample.com%2Fpath%3Fparam%3Dvalue
長度限制錯誤
超過長度限制的參數可能會被截斷或導致錯誤。
長度限制
適用下列長度限制 (如需完整詳細資訊MediaTailor 參數參考和限制,請參閱 ):
-
資訊清單查詢參數 (總計):2000 個字元
-
ADS 參數名稱:10,000 個字元
-
ADS 參數值:25,000 個字元
-
ADS URLs:25,000 個字元
解決策略
若要處理長度限制:
-
盡可能使用較短的參數名稱和值
-
將大型參數值分割成多個較小的參數
-
使用組態別名將短別名映射至較長的值 (請參閱 MediaTailor 組態別名和動態變數取代)
-
考慮將外部儲存體用於具有參數參考的大型資料
組態別名錯誤
組態別名問題可能會導致 HTTP 400 錯誤或非預期的參數值。
常見的組態別名錯誤
下列錯誤常見於組態別名:
-
HTTP 400 錯誤:缺少別名值或其無效
-
網域變數未正確解析
-
玩家參數未取代為別名值
解決方案檢查清單
若要解決組態別名錯誤:
-
確認所有網域變數都定義為
ConfigurationAliases
-
確保玩家參數變數使用
player_params.
字首 -
確認每個玩家參數的別名值清單詳盡
-
檢查工作階段初始化請求是否指定有效的別名值
-
驗證 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 與原始伺服器與資訊清單)
-
URL 編碼和格式化
-
參數應用程式到 URLs
偵錯參數流程
若要偵錯參數處理問題:
-
驗證工作階段初始化中已正確指定參數
-
檢查組態別名是否解析為預期值
-
確認參數出現在正確的 URLs中 (資訊清單、ADS、原始伺服器)
-
驗證 URL 編碼是否正確套用
範例 參數流程範例
工作階段初始化:
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
安全考量和最佳實務
MediaTailor 會實作參數處理的安全措施,以防止常見的安全問題。
安全措施
MediaTailor 實作下列安全措施:
-
防止資料庫膨脹的輸入大小限制
-
適當編碼和淨化使用者輸入
-
輸入 URL 編碼以防止回應損毀
最佳實務
遵循以下安全參數處理的最佳實務:
-
在傳送之前驗證用戶端的參數值
-
使用組態別名來限制可能的參數值
-
避免在參數中包含敏感資訊
-
監控參數用量是否有異常模式
-
將參數值保持在建議的長度限制內