使用 MediaTailor 建立和使用組態別名 - AWS Elemental MediaTailor

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

使用 MediaTailor 建立和使用組態別名

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

限制

使用組態別名時,請注意下列限制:

  • 網域中使用的所有動態變數都必須定義為ConfigurationAliases動態變數。

  • 玩家參數變數必須以 為字首player_params.。例如 player_params.origin_domain

  • 對於關鍵 URLs (VideoContentSourceUrlAdSegmentUrlPrefixContentSegmentUrlPrefix) 中的網域變數,別名值清單必須詳盡。

  • 如果對關鍵 URLs中的網域變數提出請求,而這些 URL 未指定動態變數或使用無效的別名,則請求將使用 HTTP 400 狀態碼失敗。非關鍵欄位 (SlateAdUrlTranscodeProfileName、緩衝區 URLs) 會記錄警告,但不會讓請求失敗。

遺失別名的備用行為

找不到組態別名或組態別名無效時,MediaTailor 會實作下列備用行為:

  • 網域變數:如果網域變數別名遺失或無效,請求會失敗並顯示 HTTP 400 狀態碼。所有網域變數都必須定義有效的別名。

  • 非網域變數:對於 URLs 的非網域部分中使用的變數 (例如路徑元素或查詢參數),缺少別名會導致空字串取代。

  • 組態驗證:MediaTailor 會驗證組態建立和更新操作期間存在所有必要的別名。

步驟 1:建立組態別名

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

Console
使用主控台建立組態別名
  1. 在 https://https://console.aws.amazon.com/mediatailor/ 開啟 MediaTailor 主控台。

  2. 組態頁面上的組態別名區段中,選擇新增玩家參數

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

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

  5. 選擇確定

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

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

  7. 選擇儲存

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:在工作階段初始化中使用組態別名

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

範例 基本組態別名範例

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

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" } } }
範例 使用別名初始化工作階段

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

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