

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

# 使用 MediaTailor 建立和使用組態別名
<a name="creating-configuration-aliases"></a>

開始使用網域變數之前，您可以為組態建立組態別名。您可以在工作階段初始化時間使用組態別名做為網域取代變數。

**限制**  
使用組態別名時，請注意下列限制：
+ 網域中使用的所有動態變數都必須定義為`ConfigurationAliases`動態變數。
+ 玩家參數變數必須以 為字首`player_params.`。例如 `player_params.origin_domain`。
+ 對於關鍵 URLs (`VideoContentSourceUrl`、`AdSegmentUrlPrefix`、`ContentSegmentUrlPrefix`) 中的網域變數，別名值清單必須詳盡。
+ 如果對關鍵 URLs中的網域變數提出請求，而這些 URL 未指定動態變數或使用無效的別名，則請求會失敗並顯示 HTTP `400` 狀態碼。非關鍵欄位 (`SlateAdUrl`、`TranscodeProfileName`、緩衝區 URLs) 會記錄警告，但不會讓請求失敗。

**遺失別名的備用行為**  
找不到組態別名或組態別名無效時，MediaTailor 會實作下列備用行為：
+ **網域變數：**如果網域變數別名遺失或無效，請求會失敗並顯示 HTTP 400 狀態碼。所有網域變數都必須定義有效的別名。
+ **非網域變數：**對於 URLs 的非網域部分中使用的變數 （例如路徑元素或查詢參數），缺少別名會導致空字串取代。
+ **組態驗證：**MediaTailor 會驗證組態建立和更新操作期間是否存在所有必要的別名。

## 步驟 1：建立組態別名
<a name="dynamic-domains-creating-configuration-alias"></a>

若要使用 MediaTailor 主控台建立用於網域取代的組態別名，請執行下列程序。

------
#### [ Console ]

**使用主控台建立組態別名**

1. 在 https：//[https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/) 開啟 MediaTailor 主控台。

1. 在**組態頁面上的組態別名**區段中，選擇**新增玩家參數**。 ****

1. 針對**玩家參數**，輸入您要用作動態變數的玩家參數名稱。例如 `player_params.origin_domain`。

1. 針對**別名**，輸入您要用於玩家參數的別名及其值。

1. 選擇**確定**。

   AWS Elemental MediaTailor 會在**組態別名**區段的表格中顯示新參數。

1. 重複上述步驟以新增更多玩家參數。

1. 選擇**儲存**。

------
#### [ API ]

**使用 API 建立組態別名**  
當您建立或更新 MediaTailor 組態時，請使用 `ConfigurationAliases` 參數搭配下列 JSON 結構：

```
{
                "ConfigurationAliases": {
                "player_params.origin_domain": {
                "pdx": "abc.mediapackage.us-west-2.amazonaws.com",
                "iad": "xyz.mediapackage.us-east-1.amazonaws.com"
                },
                "player_params.ad_type": {
                "customized": "abc12345",
                "default": "defaultAdType"
                }
                }
                }
```

------

## 步驟 2：在工作階段初始化中使用組態別名
<a name="dynamic-domains-using-configuration-alias"></a>

設定組態別名之後，您可以在工作階段初始化請求中將其用作網域的替代變數。這可讓您動態設定工作階段的網域。

**Example 基本組態別名範例**  
以下是包含組態別名和動態網域變數之組態的基本範例：  

```
PUT /playbackConfiguration
{
    "Name": "aliasedConfig",
    "AdDecisionServerUrl": "https://abc.execute-api.us-west-2.amazonaws.com/ads?sid=[session.id]&ad_type=[player_params.ad_type]",
    "VideoContentSourceUrl": "https://[player_params.origin_domain].mediapackage.[player_params.region].amazonaws.com/out/v1/[player_params.endpoint_id]",
    "ConfigurationAliases": {
        "player_params.origin_domain": {
            "pdx": "abc",
            "iad": "xyz"
        },
        "player_params.region": {
            "pdx": "us-west-2",
            "iad": "us-east-1"
        },
        "player_params.endpoint_id": {
            "pdx": "abcd",
            "iad": "wxyz"
        },
        "player_params.ad_type": {
            "customized": "abc12345",
            "default": "defaultAdType"
        }
    }
}
```

**Example 使用別名初始化工作階段**  
使用上述組態，使用玩家變數和別名的工作階段初始化請求看起來會類似以下內容：  

```
POST index.m3u8
{
    "playerParams": {
        "origin_domain": "pdx",
        "region": "pdx",
        "endpoint_id": "pdx",
        "ad_type": "customized"
    }
}
```
MediaTailor 會將別名字串取代為組態別名組態中的對應值。  
對 ADS 的請求如下所示：  

```
https://abc.execute-api.us-west-2.amazonaws.com/ads?sid=[session.id]&ad_type=abc12345
```
對資訊清單原始伺服器的請求如下所示：  

```
https://abc.mediapackage.us-west-2.amazonaws.com/out/v1/abcd
```