

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MediaTailor パラメータのトラブルシューティングガイド
<a name="parameter-troubleshooting"></a>

AWS Elemental MediaTailor は、文字制限、URL エンコードの問題、設定エイリアスエラーなど、MediaTailor の一般的なパラメータ関連の問題をトラブルシューティングするためのガイダンスを提供します。

## 文字制限エラー
<a name="parameter-character-restriction-errors"></a>

サポートされていない文字を含むパラメータ値は、エラーや予期しない動作を引き起こす可能性があります。

**一般的な症状**  
次の症状は、文字制限の問題を示している可能性があります。
+ マニフェスト URLsに表示されないパラメータ
+ セッションの初期化中の HTTP 400 エラー
+ 切り捨てられたパラメータ値または破損したパラメータ値
+ 不正な形式の URLs が原因で ADS リクエストが失敗する

**解決の手順**  
文字制限エラーを解決するには: 

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 エンコード

**ベストプラクティス**  
安全なパラメータ処理については、次のベストプラクティスに従ってください。
+ 送信前にクライアント側でパラメータ値を検証する
+ 設定エイリアスを使用して、可能なパラメータ値を制限する
+ パラメータに機密情報を含めないようにする
+ 異常なパターンがないかパラメータの使用状況をモニタリングする
+ パラメータ値を推奨長さ制限内に維持する