

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

# 建立預先擷取排程
<a name="creating-prefetch-schedules"></a>

下列程序說明如何使用 MediaTailor 主控台建立預先擷取排程。如需有關使用 MediaTailor API 以程式設計方式建立和管理預先擷取排程的資訊，請參閱 *AWS Elemental MediaTailor API 參考*中的 [PrefetchSchedules](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_PrefetchSchedule.html)。

**注意**  
在 MediaTailor 中設定預先擷取排程時，請務必了解如何處理不同類型的變數。  

**可用比對條件**  
如果您想要在排程中使用時段比對條件，請務必先使用[動態工作階段變數](variables-session.md)來設定播放組態的 ADS URL 範本，否則時段比對條件不會生效。如需使用動態工作階段變數的資訊，請參閱 MediaTailor 廣告插入主題入門[步驟 3：設定 ADS 請求 URL 和查詢參數](getting-started-ad-insertion.md#getting-started-configure-request)中的 。

**預先擷取排程中的玩家變數**  
當您建立預先擷取排程時，請勿在預先擷取組態中將玩家變數定義為動態變數。而是像平常一樣在工作階段開始時傳遞玩家變數。如果變數映射在 ADS 範本 URL 中，MediaTailor 會自動在預先擷取廣告請求中包含這些變數。

**使用主控台建立新的預先擷取排程**

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

1. 在導覽窗格中，選擇**組態**。選取您要為其建立預先擷取排程的播放組態。

1. 在**預先擷取排程**索引標籤上，選擇**新增預先擷取排程**。

1. 在**預先擷取排程詳細資訊**窗格下，執行下列動作：
   + 針對**名稱**，輸入預先擷取排程的識別符，例如 **my-prefetch-schedule**。
   + 針對**串流 ID**，選擇性地輸入唯一的 ID。如果您的原始伺服器包含多個播放串流，您可以使用此 ID 指示 MediaTailor 在特定串流中放置廣告。例如，如果您的播放組態具有運動串流和電視節目串流，您可以使用串流 ID 來建立預先擷取排程，以插入以運動串流為目標的廣告。您可以在用戶端的工作階段初始化或資訊清單請求中，將串流 ID 值傳遞至 MediaTailor。如需詳細資訊，請參閱下列範例。
     + 對於*伺服器端追蹤*，請在用戶端對 MediaTailor 端點的`GET HTTP`請求中包含`?aws.streamId`查詢參數和值。如需伺服器端追蹤的一般資訊，請參閱 [MediaTailor 伺服器端廣告追蹤和報告](ad-reporting-server-side.md)。對包含串流 ID 的 HLS 端點提出的資訊清單請求如下所示，其中 `myStreamId`是串流 ID 的名稱：

       ```
       GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.streamId=myStreamId
       ```
     + 對於*用戶端追蹤*，請在用戶端的`POST HTTP`工作階段初始化請求內文中包含索引`streamId`鍵和值至 **MediaTailor/v1/session** 端點。如需用戶端追蹤的一般資訊，請參閱 [用戶端廣告追蹤](ad-reporting-client-side.md)。包含串流 ID 的工作階段初始化請求如下所示，其中 `myStreamId`是串流 ID 的名稱：

       ```
       POST <mediatailorURL>/v1/session/<hashed-account-id>/<origin-id>/<asset-id>
       {
           'streamId': 'myStreamId',
           'reportingMode': 'client'
       }
       ```

1. 對於**預先擷取類型**，請進行選擇，然後選擇對應的區段以取得其他欄位的協助：
   + 如果您要為事件中的一個廣告休息時間建立一個預先擷取排程，請選擇**單一**。
   + 如果您要建立排程，在事件中的每個廣告休息時間之前自動預先擷取廣告，請選擇**週期性**。

## 單一預先擷取排程
<a name="single-prefetch"></a>

建立排程，在事件中的一個廣告時段之前預先擷取廣告。

1. 在**擷取**窗格中，指定您要使用的擷取設定。這些設定決定 MediaTailor 從 ADS 預先擷取廣告的時間。如果有的話，他們也會決定要在對 ADS 的請求中包含哪些動態工作階段變數。
   + 針對**開始時間**，輸入 MediaTailor 可以為此廣告休息時間開始預先擷取擷取的時間。MediaTailor 會嘗試預先擷取用戶端在此期間或之後提出的資訊清單請求的廣告。預設值是目前時間。如果您未指定值，服務會盡快開始預先擷取擷取。
   + 針對**結束時間**，輸入您希望 MediaTailor 停止為此廣告休息時間預先擷取廣告的時間。MediaTailor 將嘗試預先擷取在此時間或之前發生的資訊清單請求的廣告。擷取時段可與取用時段重疊。
   + 或者，設定流量調整以限制對 ADS 的請求數量。選擇下列其中一種方法：

     *時段方法*：針對**流量調整時段持續時間**，輸入 MediaTailor 應將請求分佈至 ADS 的秒數。如需詳細資訊，請參閱[單一預先擷取排程擷取說明](understanding-prefetching.md#avail-matching-criteria-retr)。

     *以 TPS 為基礎的方法*：設定**尖峰 TPS** 和**尖峰並行使用者**，以根據每秒交易和並行使用者限制請求。如需詳細資訊，請參閱[TPS 型流量調整](tps-traffic-shaping.md)。
   + 在[**動態變數**](variables.md)區段中，輸入最多 100 個動態工作階段變數。MediaTailor 會使用這些變數來取代傳送至 ADS 的預先擷取請求。如果您未輸入任何動態工作階段變數，MediaTailor 會盡最大努力嘗試插補 [ADS](configurations-create.md#configurations-create-main) URL 中包含的動態變數值。
     + 選取**新增動態變數**。
     + 針對**金鑰**，輸入動態工作階段變數金鑰，例如 `scte.event_id`。您可以使用 MediaTailor 支援的任何動態變數。如需動態工作階段變數的相關資訊，請參閱 [ADS 請求的 MediaTailor 工作階段變數](variables-session.md)。
     + 針對**值**，輸入動態變數值，例如 *my-event*。
     + 若要新增另一個動態變數，請選擇選取**新增動態變數**。

1. 在**取用**窗格中，指定您要用於取用時段的設定。這些設定決定 MediaTailor 何時將廣告放入廣告休息時間。他們也會決定您要使用的任何時段比對條件。
   + 針對**開始時間**，輸入您希望 MediaTailor 開始將預先擷取的廣告放入廣告休息時間的時間。預設值為目前時間。如果您未指定時間，服務會盡快開始預先擷取取用。
   + 針對**結束時間**，輸入您希望 MediaTailor 停止將預先擷取的廣告放入廣告休息時間的時間。MediaTailor 會嘗試預先擷取在此時間或之前發生之用戶端資訊清單請求的廣告。結束時間必須晚於開始時間，且從現在開始不到一天。耗用時段可與擷取時段重疊。
   + 在[**可用比對條件**](variables.md)區段中，選取**新增時段條件**，並將最多五個時段比對條件新增至您的排程。然後，在**動態變數索引**鍵下，新增動態變數索引鍵，例如 `scte.event_id`。MediaTailor *只有在*符合用戶端傳遞至 MediaTailor 或 MediaTailor 從工作階段資料等資訊推斷的動態變數值所定義的條件時，才會將預先擷取的廣告放入廣告休息時間。如果廣告休息時間不符合指定的相符條件，MediaTailor 會略過該休息時間的預先擷取。如需詳細資訊，請參閱[單一預先擷取排程耗用說明](understanding-prefetching.md#avail-matching-criteria)。

1. 選取**新增時段條件**。

預先擷取排程會在使用時段的結束時間之後自動過期。基於診斷目的，它們會保持可見至少 7 天，之後 MediaTailor 會自動將其刪除。或者，您可以隨時手動刪除預先擷取排程。如需有關如何手動刪除預先擷取排程的資訊，請參閱下[刪除預先擷取排程](deleting-prefetch-schedules.md)一節。

### 判斷用戶端應呼叫 CreatePrefetchSchedule API 的頻率
<a name="how-often"></a>

如果您知道廣告休息時間的確切時間，用戶端可以每天以程式設計方式呼叫 [CreatePrefetchSchedule](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreatePrefetchSchedule.html) API 一次，以設定擷取和取用。或者，您的用戶端可以在一天中多次呼叫 API，以定義擷取和取用。選擇 API 呼叫頻率時，請考慮[作用中預先擷取排程的最大數量](quotas.md#prefetch-schedules-limit)，以及建立預先擷取排程後廣告休息排程是否會變更的可能性 ()。如果廣告休息時間排程可能會在您建立預先擷取排程 （預先擷取排程） 之後變更，建議您更頻繁地呼叫 API。

## 週期性預先擷取排程
<a name="recurring-prefetch"></a>

建立排程，在事件中的每個廣告時段之前預先擷取廣告。

1. 在**重複擷取**窗格中，指定您要使用的擷取設定。這些設定決定 MediaTailor 從 ADS 預先擷取廣告的時間。如果有的話，它們也會決定要在對 ADS 的請求中包含哪些動態工作階段變數。
   + 針對**週期性預先擷取時段**，輸入 MediaTailor 可以為此廣告休息時間開始預先擷取擷取的時間。MediaTailor 將嘗試預先擷取用戶端在此期間或之後提出的資訊清單請求的廣告。預設值是目前時間。如果您未指定值，服務會盡快開始預先擷取擷取。
   + 針對**時段結束後的延遲**，輸入 MediaTailor 在時段結束後應等待的秒數，然後再預先擷取下一個時段的廣告。如果您未指定值，MediaTailor 會預設為無延遲。
   + 或者，設定流量調整以限制對 ADS 的請求數量。選擇下列其中一種方法：

     *時段方法*：針對**流量調整時段持續時間**，輸入 MediaTailor 應將請求分佈至 ADS 的秒數。如需詳細資訊，請參閱[週期性預先擷取排程擷取說明](understanding-prefetching.md#avail-matching-criteria-recurring-retr)

     *以 TPS 為基礎的方法*：設定**尖峰 TPS** 和**尖峰並行使用者**，以根據每秒交易和並行使用者限制請求。如需詳細資訊，請參閱[TPS 型流量調整](tps-traffic-shaping.md)。
   + 在[**動態變數**](variables.md)區段中，輸入最多 100 個動態工作階段變數。MediaTailor 會使用這些變數來取代傳送至 ADS 的預先擷取請求。如果您未輸入任何動態工作階段變數，MediaTailor 會盡最大努力插入 [ADS](configurations-create.md#configurations-create-main) URL 中包含的動態變數值。
     + 選取**新增動態變數**。
     + 針對**金鑰**，輸入動態工作階段變數金鑰，例如 `scte.event_id`。您可以使用 MediaTailor 支援的任何動態變數。如需動態工作階段變數的資訊，請參閱 [ADS 請求的 MediaTailor 工作階段變數](variables-session.md)。
     + 針對**值**，輸入動態變數值，例如 *my-event*。
     + 若要新增另一個動態變數，請選擇選取**新增動態變數**。

1. 在**取用**窗格中，指定您要用於取用時段的設定。這些設定決定 MediaTailor 何時將廣告放入廣告休息時間。他們也會決定您要使用的任何時段比對條件。
   + 對於**擷取的廣告過期**，請指出擷取廣告可用於插入的時間長度。
   + 在[**可用比對條件**](variables.md)區段中，選取**新增時段條件**，並將最多五個時段比對條件新增至您的排程。然後，在**動態變數索引**鍵下，新增動態變數索引鍵，例如 `scte.event_id`。MediaTailor *只有在*符合用戶端傳遞至 MediaTailor 的動態變數值所定義的條件，或 MediaTailor 從工作階段資料等資訊推斷時，才會將預先擷取的廣告放入廣告休息時間。如果廣告休息時間不符合指定的相符條件，MediaTailor 會略過該休息時間的預先擷取。如需詳細資訊，請參閱[週期性預先擷取排程耗用說明](understanding-prefetching.md#avail-matching-criteria-recur)。

1. 選取**新增時段條件**。

預先擷取排程會在使用時段的結束時間之後自動過期。基於診斷目的，它們會保持可見至少 7 天，之後 MediaTailor 會自動將其刪除。或者，您可以隨時手動刪除預先擷取排程。如需有關如何手動刪除預先擷取排程的資訊，請參閱下[刪除預先擷取排程](deleting-prefetch-schedules.md)一節。