

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# MediaTailor variabili pubblicitarie dinamiche per le richieste ADS
<a name="variables"></a>

AWS Elemental MediaTailor utilizza variabili pubblicitarie dinamiche per trasferire informazioni dalla sessione di visualizzazione all'ad decision server (ADS). Queste informazioni aiutano l'ADS a selezionare gli annunci più pertinenti per i tuoi spettatori.

Questa sezione fornisce una panoramica delle variabili pubblicitarie dinamiche e collegamenti a guide di implementazione specifiche. Per le istruzioni step-by-step di configurazione, consulta i singoli argomenti riportati di seguito.

**Tipi di variabili dinamiche**  
MediaTailor supporta quattro tipi di variabili dinamiche:
+ **Variabili di sessione**: valori generati automaticamente come ID di sessione e dati SCTE-35. Per informazioni, consulta [MediaTailor variabili di sessione per le richieste ADS](variables-session.md).
+ **Variabili del lettore**: parametri personalizzati inviati dal lettore video. Per informazioni, consulta [MediaTailor variabili player per le richieste ADS](variables-player.md).
+ **Variabili di dominio** con **alias di configurazione**: domini URL dinamici per configurazioni multiorigine. 
+ **Alias di configurazione**: mappature predefinite per la sostituzione dinamica delle variabili. Per informazioni, consulta [Alias di configurazione](configuration-aliases-overview.md).

**Casi di utilizzo comune**  
Usa variabili pubblicitarie dinamiche per:
+ Trasmetti i dati demografici e le preferenze degli spettatori al tuo ADS
+ Indirizza le richieste verso origini diverse in base alla posizione geografica
+ Abilita la visualizzazione temporizzata con integrazione MediaPackage 
+ Implementa A/B scenari di test e failover

Le sezioni seguenti forniscono ulteriori dettagli sull'utilizzo di variabili pubblicitarie dinamiche con MediaTailor.

**Topics**
+ [variabili di sessione](variables-session.md)
+ [Variabili del giocatore](variables-player.md)
+ [variabili di dominio](variables-domains.md)
+ [Alias di configurazione](configuration-aliases-overview.md)
+ [Passaggio dei parametri ADS](passing-paramters-to-the-ads.md)
+ [Routing dei parametri](parameter-routing-behavior.md)
+ [Integrazione di MediaPackage](mediapackage-integration-param.md)
+ [comportamento della sessione](parameter-session-behavior.md)
+ [Documentazione di riferimento dei parametri](parameter-comprehensive-reference.md)
+ [risoluzione dei problemi dei parametri](parameter-troubleshooting.md)
+ [risoluzione dei problemi relativi agli alias](configuration-aliases-troubleshooting.md)

Per i requisiti di formattazione dei parametri e la risoluzione dei problemi, consulta [MediaTailor riferimento ai parametri e limitazioni](parameter-comprehensive-reference.md) e[MediaTailor guida alla risoluzione dei parametri](parameter-troubleshooting.md).

# MediaTailor variabili di sessione per le richieste ADS
<a name="variables-session"></a>

AWS Elemental MediaTailor invia i dati della sessione ad Ad Decision Server (ADS) quando configuri AWS Elemental MediaTailor per specificare una o più variabili elencate in questa sezione nell'URL ADS del modello. È possibile utilizzare singole variabili e concatenare più variabili per creare un unico valore. MediaTailor genera alcuni valori e ottiene il resto da fonti come il manifest e la richiesta di inizializzazione della sessione del giocatore. 

La tabella seguente descrive le variabili dei dati di sessione che è possibile utilizzare nella configurazione dell'URL della richiesta ADS del modello. I numeri di sezione elencati nella tabella corrispondono alla versione 2019a della specifica della Society of Cable Telecommunications Engineers (SCTE) -35, [Digital Program Insertion Cueing Message. Per dettagli su ad prefetch](https://account.scte.org/standards/library/catalog/scte-35-digital-program-insertion-cueing-message/), vedere. [Prefetching degli annunci](prefetching-ads.md)


| Name | Disponibile per il prefetch degli annunci | Sezione delle specifiche dell'SCTE-35 | Description | 
| --- | --- | --- | --- | 
| [avail.index] | Sì |  | Un numero che rappresenta la posizione di un annuncio pubblicitario in un indice. All'inizio di una sessione di riproduzione, MediaTailor crea un indice di tutti gli annunci pubblicati in un manifesto e memorizza l'indice per il resto della sessione. Quando invia MediaTailor una richiesta all'ADS per inserire il numero di disponibilità, include il numero di indice di disponibilità dell'annuncio. Questo parametro consente all'ADS di migliorare la selezione degli annunci utilizzando funzionalità quali l'esclusione competitiva e il limite di frequenza. | 
| [avail.random] | Sì |  | Un numero casuale compreso tra 0 e 10.000.000.000, come numero lungo, che viene MediaTailor generato per ogni richiesta all'ADS. Alcuni server di annunci usano questo parametro per abilitare funzionalità come la separazioni degli annunci di aziende concorrenti. | 
| [scte.archive\$1allowed\$1flag] | Sì | 10.3.3.1 | Un valore booleano opzionale. Quando questo valore è 0, le restrizioni di registrazione vengono imposte sul segmento. Quando questo valore è 1, le restrizioni di registrazione non vengono applicate al segmento. | 
| [scte.avail\$1num] | Sì | 9.7.2.1 | Il valore analizzato MediaTailor dal campo avail\$1num SCTE-35, come numero lungo. MediaTailor Posso usare questo valore per designare numeri lineari e disponibili.Il valore deve essere un numero intero. | 
| [scte.avails\$1expected] | Sì | 9,7.2.1 | Un valore lungo opzionale che fornisce il numero previsto di avalli all'interno dell'evento corrente. | 
| [scte.delivery\$1not\$1restricted\$1flag] | Sì | 10.3.3.1 | Un valore booleano opzionale. Quando questo valore è 0, i cinque bit successivi sono riservati. Quando questo valore è 1, i cinque bit successivi assumono i significati descritti nella specifica SCTE-35. | 
| [scte.device\$1restrictions] | Sì | 10.3.3.1 | Un valore intero opzionale che segnala tre gruppi di dispositivi predefiniti, indipendenti e non gerarchici. Per ulteriori informazioni su questa variabile, vedete la descrizione segments\$1expected nella specifica SCTE-35. | 
| [scte.event\$1id] | Sì | 9.1 e 9.7.2.1 | Il valore analizzato MediaTailor dal campo SCTE-35, come numero lungo. splice\$1event\$1id MediaTailor utilizza questo valore per designare numeri lineari e disponibili o per compilare stringhe di query del server pubblicitario, ad esempio le posizioni dei contenitori pubblicitari.Il valore deve essere un numero intero. | 
| [scte.no\$1regional\$1blackout\$1flag] | Sì | 10.3.3.1 | Un valore booleano opzionale. Quando questo valore è 0, al segmento si applicano le restrizioni regionali di blackout. Quando questo valore è 1, le restrizioni regionali di blackout non si applicano al segmento. | 
| [scte.segment\$1num] | Sì | 10.3.3.1 | Un valore intero opzionale che numera i segmenti all'interno di una raccolta di segmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione segment\$1num nella specifica SCTE-35. | 
| [scte.segmentation\$1event\$1id]  | Sì | 10.3.3.1 | MediaTailor espone questa variabile come. [scte.event_id](#scte.event_id) | 
| [scte.segmentation\$1type\$1id] | Sì | 10.3.3.1 | Un valore intero opzionale a 8 bit che specifica il tipo di segmentazione. Per ulteriori informazioni su questa variabile, vedete la descrizione segmentation\$1type\$1id nella specifica SCTE-35. | 
| [scte.segmentation\$1upid] |  `segmentation_upid_type`: Sì `private_data`: Sì  |  **segmentation\$1upid: 10.3.3.1** UPID privato gestito: 10.3.3.3  |  Corrisponde all'elemento SCTE-35. `segmentation_upid` L'`segmentation_upid`elemento contiene e. `segmentation_upid_type` `segmentation_upid_length` MediaTailor supporta i seguenti `segmentation_upid` tipi: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/mediatailor/latest/ug/variables-session.html)  | 
| [scte.segmentation\$1upid.assetId] | Sì |  | Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro podbuster. segmentation\$1 upid\$1type MediaTailorricava questo valore dal parametro nella struttura JSON della MPUassetId. private\$1data Per ulteriori informazioni, consulta [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow). | 
| [scte.segmentation\$1upid.cueData.key] | Sì |  | Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro podbuster. segmentation\$1 upid\$1type MediaTailorricava questo valore dal parametro nella struttura JSON della MPUcueData.key. private\$1data Per ulteriori informazioni, consulta [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow). | 
| [scte.segmentation\$1upid.cueData.value] | Sì |  | Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro podbuster. segmentation\$1 upid\$1type MediaTailorricava questo valore dal parametro nella struttura JSON della MPUcueData.key. private\$1data Per ulteriori informazioni, consulta [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow).Il valore può essere una stringa. | 
| [scte.segmentation\$1upid.private\$1data.\$1index\$1] | Sì |  | Utilizzato in combinazione con Managed Private UPID (0xC) segmentation\$1upid\$1type per flussi di lavoro pubblicitari mirati. MediaTailor divide i token UPID di segmentazione delimitati da due punti e crea variabili di sessione indicizzate. L'indice corrisponde alla posizione nell'elenco delimitato da due punti, ignorando gli spazi bianchi iniziali dei due punti iniziali. Ad esempio, se, allora: `segmentation_upid = ":3213214:2313321/5:3943"` [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/mediatailor/latest/ug/variables-session.html) Il valore può essere una stringa. | 
| [scte.segments\$1expected] | Sì | 10.3.3.1 | Un valore intero opzionale che fornisce il conteggio previsto di singoli segmenti all'interno di una raccolta di segmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione segments\$1expected nella specifica SCTE-35. | 
| [scte.sub\$1segment\$1num] | Sì | 10.3.3.1 | Un valore intero opzionale che identifica un particolare sottosegmento all'interno di una raccolta di sottosegmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione sub\$1segment\$1num nella specifica SCTE-35. | 
| [scte.sub\$1segments\$1expected] | Sì | 10.3.3.1 | Un valore intero opzionale che fornisce il conteggio previsto dei singoli sottosegmenti all'interno di una raccolta di sottosegmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione sub\$1segments\$1expected nella specifica SCTE-35. | 
| [scte.unique\$1program\$1id] | Sì | 9.7.2.1 | Il valore intero analizzato MediaTailor dal campo SCTE-35. splice\$1insert unique\$1program\$1id L’ADS usa l’ID univoco di programma (UPID) per fornire annunci pubblicitari mirati a livello di programma per i flussi lineari live. Se il comando SCTE-35 non è splice insert, imposta questo valore su un valore vuoto. MediaTailor Il valore deve essere un numero intero. | 
| [session.avail\$1duration\$1ms] | Sì |  |  La durata in millisecondi dello slot di disponibilità degli annunci. Il valore predefinito è 300.000 ms. AWS Elemental MediaTailor ottiene il valore della durata dal manifesto di input come segue: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/mediatailor/latest/ug/variables-session.html)  | 
| [session.avail\$1duration\$1secs] | Sì |  | La durata in secondi dello slot di disponibilità dell'annuncio, o ad avail, arrotondata al secondo più vicino. MediaTailor determina questo valore nello stesso modo in cui lo determina[session.avail\$1duration\$1ms]. | 
| [session.client\$1ip] | No |  | L'indirizzo IP remoto da cui proviene la MediaTailor richiesta. Se l'intestazione X-forwarded-for è impostata, quel valore è ciò che MediaTailor usa per client\$1ip. | 
| [session.id] | No |  | Un identificatore numerico univoco per la sessione di riproduzione corrente. Tutte le richieste effettuate da un lettore per una sessione condividono lo stesso ID, che può quindi essere usato per i campi ADS destinati a correlare le richieste per una singola visualizzazione. | 
| [session.referer] | No |  | In genere, l'URL della pagina che ospita il lettore video. MediaTailor imposta questa variabile sul valore dell'Refererintestazione utilizzata dal giocatore nella richiesta. MediaTailor Se il lettore non fornisce questa intestazione, MediaTailor lascia vuoto l'oggetto [session.referer]. Se utilizzi una rete di distribuzione dei contenuti (CDN) o un proxy davanti all'endpoint manifest e desideri che questa variabile appaia, invia qui l'intestazione corretta del player come proxy. | 
| [session.user\$1agent] | No |  | L'User-Agentintestazione MediaTailor ricevuta dalla richiesta di inizializzazione della sessione del giocatore. Se non usi una CDN o un proxy davanti all'endpoint manifest, qui devi inoltrare l'intestazione corretta dal lettore. | 
| [session.uuid] | No |  |  Alternativa a. **[session.id]** Si tratta di un identificatore unico per la sessione di riproduzione corrente, ad esempio: <pre>e039fd39-09f0-46b2-aca9-9871cc116cde</pre>  | 
| [avail.source\$1content\$1time\$1epoch\$1ms] | No |  |  Per HLS il valore è il PDT del segmento di origine che ha dato inizio alla disponibilità. Per DASH il valore è quello che contiene `<SupplementalProperty> urn:scte:dash:utc-time` il`<Period>`. `<EventStream>` [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/mediatailor/latest/ug/variables-session.html)  | 

**Example**  
Se l'ADS richiede il passaggio di un parametro di query denominato `deviceSession` con l'identificatore di sessione univoco, l'URL ADS modello in AWS Elemental MediaTailor potrebbe essere simile al seguente:  

```
https://my.ads.server.com/path?deviceSession=[session.id]
```
AWS Elemental MediaTailor genera automaticamente un identificatore univoco per ogni stream e inserisce l'identificatore al posto di. `session.id` Se l'identificatore è`1234567`, la richiesta finale inviata all' MediaTailor ADS sarebbe simile alla seguente:  

```
https://my.ads.server.com/path?deviceSession=1234567
```
Se l'ADS richiede il passaggio di diversi parametri di query, l'URL ADS del modello in cui è inserito AWS Elemental MediaTailor potrebbe essere simile al seguente:  

```
https://my.ads.server.com/sample?e=[scte.avails_expected]&f=[scte.segment_num]&g=[scte.segments_expected]&h=[scte.sub_segment_num]&j=[scte.sub_segments_expected]&k=[scte.segmentation_type_id]
```
Il seguente frammento XML di esempio di marker DASH mostra come utilizzare: `scte35:SpliceInsert`  

```
<Period start="PT444806.040S" id="123456" duration="PT15.000S">
  <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
    <Event duration="1350000">
      <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095">
        <scte35:SpliceInsert spliceEventId="1234567890" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1">
          <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program>
          <scte35:BreakDuration autoReturn="true" duration="1350000"/>
        </scte35:SpliceInsert>
      </scte35:SpliceInfoSection>
```
Il seguente frammento XML di esempio di marker DASH mostra come utilizzare: `scte35:TimeSignal`  

```
<Period start="PT346530.250S" id="123456" duration="PT61.561S">
  <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml">
    <Event duration="5310000">
      <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095">
        <scte35:TimeSignal>
          <scte35:SpliceTime ptsTime="3442857000"/>
        </scte35:TimeSignal>
        <scte35:SegmentationDescriptor segmentationEventId="1234567" segmentationEventCancelIndicator="false" segmentationDuration="8100000" segmentationTypeId="52" segmentNum="0" segmentsExpected="0">
          <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="false" archiveAllowedFlag="false" deviceRestrictions="3"/>
          <scte35:SegmentationUpid segmentationUpidType="12" segmentationUpidLength="2">0100</scte35:SegmentationUpid>
        </scte35:SegmentationDescriptor>
      </scte35:SpliceInfoSection>
    </Event>
```
Il seguente frammento XML di esempio di marker DASH mostra come utilizzare: `scte35:Binary`  

```
<Period start="PT444806.040S" id="123456" duration="PT15.000S">
  <EventStream schemeIdUri="urn:scte:scte35:2014:xml+bin" timescale="1">
    <Event presentationTime="1541436240" duration="24" id="29">
      <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016">
        <scte35:Binary>/DAhAAAAAAAAAP/wEAUAAAHAf+9/fgAg9YDAAAAAAAA25aoh</Binary>
      </scte35:Signal>
    </Event>
    <Event presentationTime="1541436360" duration="24" id="30">
      <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016">
        <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</Binary>
      </scte35:Signal>
    </Event>
```
Il seguente esempio di tag HLS mostra come utilizzare: `EXT-X-DATERANGE`  

```
#EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2014-03-05T11:
15:00Z",PLANNED-DURATION=59.993,SCTE35-OUT=0xFC002F0000000000FF0
00014056FFFFFF000E011622DCAFF000052636200000000000A0008029896F50
000008700000000
```
Il seguente esempio di tag HLS mostra come utilizzare: `EXT-X-CUE-OUT`  

```
#EXT-OATCLS-SCTE35:/DA0AAAAAAAAAAAABQb+ADAQ6QAeAhxDVUVJQAAAO3/PAAEUrEoICAAAAAAg+2UBNAAANvrtoQ==  
#EXT-X-ASSET:CAID=0x0000000020FB6501  
#EXT-X-CUE-OUT:201.467
```
Il seguente esempio di tag HLS mostra come utilizzare: `EXT-X-SPLICEPOINT-SCTE35`  

```
#EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==
```
L'esempio seguente mostra come usare `scte35:Binary` decode:  

```
{
  "table_id": 252,
  "section_syntax_indicator": false,
  "private_indicator": false,
  "section_length": 33,
  "protocol_version": 0,
  "encrypted_packet": false,
  "encryption_algorithm": 0,
  "pts_adjustment": 0,
  "cw_index": 0,
  "tier": "0xFFF",
  "splice_command_length": 16,
  "splice_command_type": 5,
  "splice_command": {
    "splice_event_id": 448,
    "splice_event_cancel_indicator": false,
    "out_of_network_indicator": true,
    "program_splice_flag": true,
    "duration_flag": true,
    "splice_immediate_flag": false,
    "utc_splice_time": {
      "time_specified_flag": false,
      "pts_time": null
    },
    "component_count": 0,
    "components": null,
    "break_duration": {
      "auto_return": false,
      "duration": {
        "pts_time": 2160000,
        "wall_clock_seconds": 24.0,
        "wall_clock_time": "00:00:24:00000"
      }
    },
    "unique_program_id": 49152,
    "avail_num": 0,
    "avails_expected": 0
    "segment_num": 0,
    "segments_expected": 0,
    "sub_segment_num": 0,
    "sub_segments_expected": 0
  },
  "splice_descriptor_loop_length": 0,
  "splice_descriptors": null,
  "Scte35Exception": {
    "parse_status": "SCTE-35 cue parsing completed with 0 errors.",
    "error_messages": [],
    "table_id": 252,
    "splice_command_type": 5
  }
}
```

# MediaTailor variabili player per le richieste ADS
<a name="variables-player"></a>

AWS Elemental MediaTailor invia i dati ricevuti dal player all'ADS quando configuri per specificare `player_params.<query_parameter_name>` le variabili nell'URL ADS del AWS Elemental MediaTailor modello. Ad esempio, se il giocatore invia un parametro di query indicato `user_id` nella richiesta a MediaTailor, per passare tali dati nella richiesta ADS, includi `[player_params.user_id]` nella configurazione dell'URL ADS. 

Questo ti consente di controllare i parametri di query inclusi nella richiesta ADS. Generalmente si aggiunge un parametro di query speciale che l'ADS riconosce all'URL della richiesta ADS e si forniscono coppie chiave-valore come valore del parametro. 

Gli esempi utilizzati nella procedura seguente usano le seguenti coppie chiave-valore:
+ *param1* con il valore *value1:*
+ *param2* con il valore *value2:*

**Per aggiungere parametri di query come coppie chiave-valore** 

1. In AWS Elemental MediaTailor, configura l'URL del modello di richiesta ADS in modo che faccia riferimento ai parametri. L'URL seguente mostra l'inclusione dei parametri di esempio: 

   ```
   https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]
   ```

1. (Facoltativo) Per il reporting di tracciamento degli annunci lato server, codificare nell'URL le coppie chiave-valore nel lettore. Quando MediaTailor riceve la richiesta di inizializzazione della sessione, decodifica l'URL una volta prima di sostituirli nell'URL della richiesta ADS. 
**Nota**  
Se l'ADS richiede un valore con codifica URL, codificare due volte il valore nell'URL sul lettore. In questo modo, la decodifica effettuata da MediaTailor restituisce un valore codificato una sola volta per l'ADS. 

   Ad esempio, se la rappresentazione decodificata dei valori inviati all'ADS è `param1=value1:&param2=value2:`, la rappresentazione con codifica URL è `param1=value1%3A&param2=value2%3A`.

1. Nella chiamata di inizializzazione della sessione dal player, passate le coppie chiave-valore a MediaTailor come valore di un singolo parametro di query. Le seguenti chiamate di esempio forniscono le coppie chiave-valore di esempio per il reporting del tracciamento degli annunci lato server e lato client.
   + Esempio di richieste di reporting degli annunci lato server, usando coppie con codifica URL

     HLS:

     ```
     <master>.m3u8?ads.param1=value1%3A&ads.param2=value2%3A
     ```

     DASH:

     ```
     <manifest>.mpd?ads.param1=value1%3A&ads.param2=value2%3A
     ```
   + Esempio di richiesta di reporting del tracciamento degli annunci lato client, senza codifica URL

     HLS:

     ```
     POST <master>.m3u8
         {
             "adsParams": {
                "param1": "value1:",
                "param2": "value2:"
            }
         }
     ```

     DASH:

     ```
     POST <manifest>.mpd
         {
             "adsParams": {
                "param1": "value1:",
                "param2": "value2:"
            }
         }
     ```

Per i report sul lato server, MediaTailor decodifica i parametri quando viene ricevuta la richiesta del giocatore. Per i report lato client, non altera i parametri ricevuti nel payload JSON. MediaTailor invia la seguente richiesta all'ADS:

```
https://my.ads.com/<path>?param1=value1:&param2=value2:
```

In questo modo, le coppie chiave-valore `param2` e `param1` vengono incluse come parametri di query di prima classe nella richiesta ADS.

# MediaTailor variabili di dominio per più fonti di contenuto
<a name="variables-domains"></a>

AWS Elemental MediaTailor le variabili di dominio dinamiche consentono di utilizzare più domini, ad esempio la parte **my-ads-server.com** dell'URL http://my-ads-server.com, con i parametri del player nella configurazione. In questo modo è possibile utilizzare più di una fonte di contenuto o un ad decision server (ADS) in un'unica configurazione. 

 Puoi utilizzare le variabili di dominio con qualsiasi parametro che contenga un URI: 
+ `AdDecisionServerUrl`
+ `AdSegmentUrlPrefix`
+ `ContentSegmentUrlPrefix`
+ `LivePreroll.AdDecisionServerUrl`
+ `VideoContentSourceUrl`

 Le variabili di dominio vengono utilizzate insieme agli *alias di configurazione* per eseguire la sostituzione dinamica delle variabili. Gli alias di configurazione mappano un insieme di alias e valori ai parametri del player utilizzati per la configurazione dinamica del dominio. Per le procedure di configurazione, vedere. [Creazione e utilizzo di alias di configurazione con MediaTailor](creating-configuration-aliases.md) Per informazioni di riferimento dettagliate, vedere[MediaTailor panoramica degli alias di configurazione](configuration-aliases-overview.md). 

# MediaTailor panoramica degli alias di configurazione
<a name="configuration-aliases-overview"></a>

AWS Elemental MediaTailor gli alias di configurazione consentono la sostituzione dinamica delle variabili nei domini URL e in altri campi supportati. Utilizzate questa funzionalità per utilizzare più domini e URLs configurarli dinamicamente durante l'inizializzazione della sessione.

## Casi d’uso
<a name="configuration-aliases-use-cases"></a>

Gli alias di configurazione consentono architetture sofisticate a più configurazioni per i seguenti scenari:
+ **Routing geografico: indirizza** le richieste a origini o server pubblicitari diversi in base alla posizione del visualizzatore utilizzando alias specifici della regione. [Per indicazioni sull'implementazione, consulta Origin Failover. CloudFront ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)
+ **Routing basato sui contenuti:** indirizza diversi tipi di contenuto verso origini o pipeline di elaborazione specializzate. Per la configurazione del comportamento di routing, vedere. [Configurare i comportamenti di routing CDN per MediaTailor](cdn-routing-behaviors.md)
+ **Scenari di failover:** implementa origini di backup e ad server con failover automatico utilizzando la commutazione di alias. Per un'implementazione dettagliata, consulta e. [Implementa la resilienza multiregionale per MediaTailor con MQAR](media-quality-resiliency.md) [Pianifica la tua integrazione CDN per AWS Elemental MediaTailor](planning-cdn-integration.md)
+ **Test A/B:** testa server pubblicitari, origini o configurazioni diversi indirizzando il traffico in base ai parametri dei giocatori. Per indicazioni sui test di carico, consulta [Preparare ed eseguire test delle prestazioni per Amazon CloudFront con monitoraggio degli utenti in tempo reale](https://aws.amazon.com/blogs/networking-and-content-delivery/prepare-and-run-performance-tests-for-amazon-cloudfront-with-real-user-monitoring/).
+ **Ottimizzazione specifica per dispositivo:** ottimizza la distribuzione dei contenuti e la pubblicazione di annunci per diversi tipi di dispositivi o funzionalità. Per una guida completa, consulta. [Configurare il filtraggio dei manifesti con MediaTailor MediaPackage, e CDN](cdn-emp-manifest-filtering.md)
+ **Bilanciamento del carico:** distribuisci il carico su più origini o server pubblicitari utilizzando il routing dinamico. Per indicazioni sull'implementazione, consulta [Implementa la resilienza multiregionale per MediaTailor con MQAR](media-quality-resiliency.md) e. [Pianifica la tua integrazione CDN per AWS Elemental MediaTailor](planning-cdn-integration.md)

## Campi supportati
<a name="configuration-aliases-supported"></a>

È possibile utilizzare variabili dinamiche nei seguenti campi di configurazione:
+ `VideoContentSourceUrl`
+ `AdDecisionServerUrl`
+ `LivePreroll.AdDecisionServerUrl`
+ `AdSegmentUrlPrefix`
+ `ContentSegmentUrlPrefix`
+ `TranscodeProfileName`
+ `SlateAdUrl`
+ `StartUrl`
+ `EndUrl`

Le seguenti sezioni descrivono come utilizzare gli alias di configurazione.

**Topics**
+ [Casi d’uso](#configuration-aliases-use-cases)
+ [Campi supportati](#configuration-aliases-supported)
+ [Creazione e utilizzo](creating-configuration-aliases.md)
+ [Flusso di esempio](configuration-aliases-examples.md)

# Creazione e utilizzo di alias di configurazione con MediaTailor
<a name="creating-configuration-aliases"></a>

Prima di iniziare a utilizzare le variabili di dominio, create alias di configurazione per la configurazione. Gli alias di configurazione vengono utilizzati come variabili sostitutive del dominio al momento dell'inizializzazione della sessione.

**Restrizioni**  
Tieni presente le seguenti restrizioni quando usi gli alias di configurazione:
+ Tutte le variabili dinamiche utilizzate nel dominio devono essere definite come variabili `ConfigurationAliases` dinamiche.
+ Le variabili dei parametri del giocatore devono avere il prefisso. `player_params.` Ad esempio, `player_params.origin_domain`.
+ L'elenco dei valori con alias deve essere esaustivo per le variabili di dominio in modalità critica URLs (`VideoContentSourceUrl`,,`AdSegmentUrlPrefix`). `ContentSegmentUrlPrefix`
+ Se viene effettuata una richiesta per una variabile di dominio in modalità critica URLs che non specifica la variabile dinamica o utilizza un alias non valido, la richiesta avrà esito negativo con un codice di stato HTTP. `400` I campi non critici (`SlateAdUrl`,`TranscodeProfileName`, bumper URLs) registreranno gli avvisi ma non falliranno la richiesta.

**Comportamento di riserva per gli alias mancanti**  
Quando gli alias di configurazione non vengono trovati o non sono validi, MediaTailor implementa il seguente comportamento di fallback:
+ **Variabili di dominio:** se un alias di variabile di dominio è mancante o non valido, la richiesta ha esito negativo con il codice di stato HTTP 400. Tutte le variabili di dominio devono avere alias validi definiti.
+ **Variabili non di dominio:** per le variabili utilizzate in parti non di dominio URLs (come elementi di percorso o parametri di query), gli alias mancanti comportano la sostituzione di stringhe vuote.
+ **Convalida della configurazione:** MediaTailor verifica che tutti gli alias richiesti siano presenti durante le operazioni di creazione e aggiornamento della configurazione.

## Fase 1: Creare alias di configurazione
<a name="dynamic-domains-creating-configuration-alias"></a>

Per creare alias di configurazione da utilizzare per la sostituzione del dominio tramite la MediaTailor console, eseguire la procedura seguente.

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

**Per creare alias di configurazione utilizzando la console**

1. Apri la MediaTailor console all'indirizzo [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/).

1. Nella sezione **Alias di configurazione** della pagina **Configurazioni**, scegli **Aggiungi parametro giocatore**. 

1. Per **Parametro Player**, inserisci il nome del parametro player che desideri utilizzare come variabile dinamica. Ad esempio, `player_params.origin_domain`. 

1. Per **Alias**, inserisci gli alias e i relativi valori che desideri utilizzare per il parametro player. 

1. Scegli **OK**. 

   AWS Elemental MediaTailor visualizza il nuovo parametro nella tabella della sezione **Alias di configurazione**.

1. Ripeti i passaggi precedenti per aggiungere altri parametri del giocatore. 

1. Scegli **Save** (Salva). 

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

**Per creare alias di configurazione utilizzando l'API**  
Quando crei o aggiorni una MediaTailor configurazione, utilizza il `ConfigurationAliases` parametro con la seguente struttura 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"
                }
                }
                }
```

------

## Passaggio 2: utilizzare gli alias di configurazione nell'inizializzazione della sessione
<a name="dynamic-domains-using-configuration-alias"></a>

Dopo aver impostato gli alias di configurazione, è possibile utilizzarli come variabili sostitutive per i domini nella richiesta di inizializzazione della sessione. Ciò consente di configurare dinamicamente i domini per la sessione.

**Example Esempio di alias di configurazione di base**  
Ecco un esempio di base di configurazione che include alias di configurazione e variabili di dominio dinamiche:  

```
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 Inizializzazione della sessione con alias**  
Utilizzando la configurazione precedente, una richiesta di inizializzazione della sessione che utilizza le variabili e gli alias del player sarebbe simile alla seguente:  

```
POST index.m3u8
{
    "playerParams": {
        "origin_domain": "pdx",
        "region": "pdx",
        "endpoint_id": "pdx",
        "ad_type": "customized"
    }
}
```
MediaTailor sostituisce le stringhe di alias con i valori mappati nella configurazione degli alias di configurazione.  
La richiesta all'ADS sarà simile alla seguente:  

```
https://abc.execute-api.us-west-2.amazonaws.com/ads?sid=[session.id]&ad_type=abc12345
```
La richiesta all'origine dei manifesti sarà simile alla seguente:  

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

# Alias di configurazione con MediaTailor esempio di utilizzo
<a name="configuration-aliases-examples"></a>

Gli esempi seguenti mostrano una MediaTailor configurazione completa con alias di configurazione, una richiesta di inizializzazione della sessione con alias e il flusso di elaborazione per gli alias.

**Example Configurazione completa con alias**  
L'esempio seguente mostra una configurazione completa che include alias di configurazione e variabili di dominio dinamiche:   

```
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]",
    
    "AdSegmentUrlPrefix": "https://[player_params.ad_cdn_domain]/ads/",
    "ContentSegmentUrlPrefix": "https://[player_params.content_cdn_domain]/content/",
    "TranscodeProfileName": "[player_params.transcode_profile]",
    "SlateAdUrl": "https://[player_params.slate_domain]/slate/[player_params.slate_type].mp4",
    "StartUrl": "https://[player_params.tracking_domain]/start?session=[session.id]",
    "EndUrl": "https://[player_params.tracking_domain]/end?session=[session.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"
        },
        "player_params.ad_cdn_domain": {
            "pdx": "ads-west.cdn.example.com",
            "iad": "ads-east.cdn.example.com"
        },
        "player_params.content_cdn_domain": {
            "pdx": "content-west.cdn.example.com",
            "iad": "content-east.cdn.example.com"
        },
        "player_params.transcode_profile": {
            "mobile": "mobile_optimized",
            "desktop": "high_quality",
            "tv": "4k_profile"
        },
        "player_params.slate_domain": {
            "pdx": "slate-west.example.com",
            "iad": "slate-east.example.com"
        },
        "player_params.slate_type": {
            "standard": "default_slate",
            "branded": "brand_slate"
        },
        "player_params.tracking_domain": {
            "pdx": "tracking-west.example.com",
            "iad": "tracking-east.example.com"
        }
    }
}
```

**Example Inizializzazione della sessione con alias**  
L'esempio seguente mostra una richiesta di inizializzazione della sessione che specifica le variabili e gli alias del giocatore:   

```
POST master.m3u8
{
    "playerParams": {
        "origin_domain": "pdx",
        "region": "pdx", 
        "endpoint_id": "pdx",
        "ad_type": "customized",
        "ad_cdn_domain": "pdx",
        "content_cdn_domain": "pdx",
        "transcode_profile": "mobile",
        "slate_domain": "pdx",
        "slate_type": "branded",
        "tracking_domain": "pdx"
    }
}
```

**Example Flusso di elaborazione dei parametri**  
Nell'esempio seguente, MediaTailor sostituisce le stringhe di alias con i valori mappati negli alias di configurazione. L'elaborazione genera le seguenti richieste:   
+ Richiesta ADS:

  ```
  https://abc.execute-api.us-west-2.amazonaws.com/ads?sid=[session.id]&ad_type=abc12345
  ```
+ VideoContentSource richiesta:

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

  ```
  https://ads-west.cdn.example.com/ads/
  ```
+ ContentSegmentUrlPrefix:

  ```
  https://content-west.cdn.example.com/content/
  ```
+ TranscodeProfileName:

  ```
  mobile_optimized
  ```
+ SlateAdUrl:

  ```
  https://slate-west.example.com/slate/brand_slate.mp4
  ```
+ StartUrl:

  ```
  https://tracking-west.example.com/start?session=[session.id]
  ```
+ EndUrl:

  ```
  https://tracking-west.example.com/end?session=[session.id]
  ```

# MediaTailor passaggio di parametri ad ADS
<a name="passing-paramters-to-the-ads"></a>

AWS Elemental MediaTailor supporta l'impostazione di variabili dinamiche nelle MediaTailor richieste all'ADS utilizzando i seguenti passaggi. 
+ Per informazioni sulla formattazione supportata per i parametri di query, vedere[MediaTailor riferimento ai parametri e limitazioni](parameter-comprehensive-reference.md).
+ Per gli alias di configurazione e le variabili di dominio, vedere. [MediaTailor panoramica degli alias di configurazione](configuration-aliases-overview.md)
+ Per ulteriori personalizzazioni alla richiesta ADS, consulta. [Utilizzo avanzato](#variables-advanced-usage)

**Metodi di inizializzazione della sessione**  
MediaTailor supporta diversi metodi per l'inizializzazione della sessione e il passaggio dei parametri: 

1. **POST con Request Body:**

   ```
   POST <master>.m3u8
   {
       "adsParams": {"param1": "value1", "param2": "value2"},
       "playerParams": {"param3": "value3"}
   }
   ```

1. **Parametri di interrogazione nell'URL:**

   ```
   GET <master>.m3u8?ads.param1=value1&ads.param2=value2&playerParams.param3=value3
   ```

**Importante**  
È possibile specificare i parametri una sola volta, al momento dell'inizializzazione. Gli alias di configurazione si risolvono in valori effettivi prima dell'inoltro. 

**Per passare le informazioni relative alla sessione e al lettore all'ADS**

1. Collabora con ADS per determinare le informazioni di cui ha bisogno per rispondere a una richiesta di annuncio. AWS Elemental MediaTailor

1. Crea una configurazione MediaTailor che utilizzi un modello di URL di richiesta ADS che soddisfi i requisiti ADS. Nell'URL, includere parametri statici e segnaposto per i parametri dinamici. Immettere l'URL modello nel campo **Ad decision server (Server di annunci)** della configurazione. 

   Nel seguente URL modello di esempio, `correlation` fornisce i dati relativi alla sessione e `deviceType` fornisce i dati relativi al lettore: 

   ```
   https://my.ads.server.com/path?correlation=[session.id]&deviceType=[player_params.deviceType]
   ```

1. Nel lettore, configurare la richiesta di inizializzazione di sessione affinché AWS Elemental MediaTailor fornisca i parametri per i dati del lettore. Includere i parametri nella richiesta di inizializzazione di sessione e ometterli dalle richieste successive per la sessione. 

   Il tipo di chiamata che il giocatore effettua per inizializzare la sessione determina se il giocatore (client) o MediaTailor (server) fornisce report sul tracciamento degli annunci per la sessione. Per informazioni su queste due opzioni, consulta [Segnalazione e tracciamento dei dati](ad-reporting.md). 

   Effettuare uno dei seguenti tipi di chiamata, in base al reporting di tracciamento degli annunci desiderato (lato server o lato client). In entrambe le chiamate di esempio, `userID` è destinato all'ADS e `auth_token` è destinato all'origine:
   + (Opzione) Richiedi la segnalazione del tracciamento degli annunci sul lato server: inserisci come prefisso i parametri che desideri inviare all'ADS. MediaTailor `ads` Omettere il prefisso per i parametri che MediaTailor deve inviare al server di origine: 

     I seguenti esempi mostrano le richieste in arrivo per HLS e DASH to. AWS Elemental MediaTailor MediaTailor utilizza il `deviceType` nella sua richiesta all'ADS e `auth_token` nella sua richiesta al server di origine. 

     Esempio HLS:

     ```
     GET master.m3u8?ads.deviceType=ipad&auth_token=kjhdsaf7gh
     ```

     Esempio DASH:

     ```
     GET manifest.mpd?ads.deviceType=ipad&auth_token=kjhdsaf7gh
     ```
   + (Opzione) Richiesta di report sul tracciamento degli annunci sul lato client: fornisci i parametri per l'ADS all'interno di un oggetto. `adsParams`

     Esempio HLS:

     ```
     POST master.m3u8
         {
             "adsParams": {
                "deviceType": "ipad"
            }
         }
     ```

     Esempio DASH:

     ```
     POST manifest.mpd
         {
             "adsParams": {
                "deviceType": "ipad"
            }
         }
     ```

Quando il giocatore avvia una sessione, AWS Elemental MediaTailor sostituisce le variabili nell'URL della richiesta ADS del modello con i dati della sessione e i parametri del giocatore. `ads` Passa i parametri rimanenti dal lettore al server di origine. 

**Example MediaTailor richieste con variabili pubblicitarie**  
Gli esempi seguenti mostrano le chiamate all'ADS e al server di origine da AWS Elemental MediaTailor che corrispondono agli esempi precedenti di chiamate di inizializzazione della sessione del lettore:   
+ MediaTailor chiama l'ADS con i dati della sessione e il tipo di dispositivo del giocatore: 

  ```
  https://my.ads.server.com/path?correlation=896976764&deviceType=ipad
  ```
+ MediaTailor chiama il server di origine con il token di autorizzazione del giocatore.
  + Esempio HLS:

    ```
    https://my.origin.server.com/master.m3u8?auth_token=kjhdsaf7gh
    ```
  + Esempio DASH:

    ```
    https://my.origin.server.com/manifest.mpd?auth_token=kjhdsaf7gh
    ```

## Utilizzo avanzato
<a name="variables-advanced-usage"></a>

È possibile personalizzare la richiesta ADS in molti modi con i dati relativi al lettore e alla sessione. Devi solo includere il nome host ADS. 

Di seguito sono forniti alcuni esempi di personalizzazione della richiesta: 
+ Concatenare i parametri del lettore e i parametri della sessione per creare nuovi parametri. Esempio: 

  ```
  https://my.ads.com?key1=[player_params.value1][session.id]
  ```
+ Usare un parametro del lettore come parte di un elemento di percorso. Esempio:

  ```
  https://my.ads.com/[player_params.path]?key=value
  ```
+ Usare i parametri del lettore per passare sia gli elementi del percorso che le chiavi stesse, anziché solo valori. Esempio: 

  ```
  https://my.ads.com/[player_params.path]?[player_params.key1]=[player_params.value1]
  ```

# MediaTailor routing dei parametri per ADS e origin
<a name="parameter-routing-behavior"></a>

AWS Elemental MediaTailor indirizza i parametri di interrogazione verso destinazioni diverse in base al prefisso e allo scopo. La comprensione del routing dei parametri è essenziale per implementare funzionalità specifiche dell'origine, come la visualizzazione con spostamento temporale con. MediaPackage

**Regole di routing dei parametri**  
MediaTailor utilizza le seguenti regole di routing per i parametri di interrogazione:
+ **Parametri di origine (nessun prefisso):** i parametri senza un prefisso specifico vengono passati al server di origine per funzionalità specifiche dell'origine
+ **Parametri ADS (`ads.`prefisso):** i parametri con prefisso `ads.` vengono inviati ad Ad Decision Server
+ **Parametri manifesto (`manifest.`prefisso):** i parametri con prefisso `manifest.` vengono utilizzati per il routing e l'autorizzazione CDN

**Example Esempio di routing dei parametri**  
La seguente inizializzazione della sessione dimostra il routing dei parametri:  

```
POST /v1/session/123456789/originId/index.m3u8
{
    "adsParams": {
        "param1": "value1",
        "param2": "value2"
    },
    "manifestParams": {
        "auth_token": "abc123"
    }
}
```
In questo esempio:  
+ `param1`e `param2` vengono inviati all'ADS
+ `auth_token`viene utilizzato per il routing e l'autorizzazione del CDN
+ I parametri senza prefissi verrebbero passati al server di origine

## Comportamento dei parametri del server di origine
<a name="origin-parameter-behavior"></a>

I parametri passati ai server di origine abilitano funzionalità specifiche dell'origine, come la visualizzazione temporizzata, il filtraggio dei contenuti e l'autenticazione.

**Casi d'uso comuni dei parametri di origine**  
I parametri di origine sono comunemente usati per:
+ **Visualizzazione con spostamento temporale:** `start` e `end` parametri per MediaPackage i contenuti spostati nel tempo
+ **Autenticazione dei contenuti:** token di autenticazione richiesti dal server di origine
+ **Filtraggio dei contenuti:** parametri che controllano quali varianti di contenuto vengono restituite
+ **Funzionalità specifiche dell'origine:** qualsiasi parametro utilizzato dal server di origine per l'elaborazione dei contenuti

**Importante**  
I parametri vengono elaborati al momento dell'inizializzazione della sessione e mantenuti per tutta la sessione. Per modificare parametri come le finestre di time-shift, è necessario creare una nuova sessione con valori aggiornati.

# MediaTailor e integrazione della visualizzazione con MediaPackage spostamento temporale
<a name="mediapackage-integration-param"></a>

AWS Elemental MediaTailor può passare i parametri di visualizzazione con spostamento temporale alle MediaPackage origini per abilitare la funzionalità di visualizzazione startover e catch-up. Questa integrazione consente agli spettatori di iniziare a guardare i contenuti in diretta da momenti precedenti.

**MediaPackage parametri di visualizzazione spostati nel tempo**  
MediaPackage supporta i seguenti parametri di visualizzazione con spostamento temporale che possono essere trasmessi: MediaTailor
+ `start`: Timestamp Epoch o ISO 8601 che definisce l'inizio del manifesto con spostamento temporale
+ `end`: Timestamp Epoch o ISO 8601 che definisce la fine del manifesto spostato nel tempo
+ `time_delay`: ritarda la disponibilità dei contenuti di secondi specificati
+ `manifest_window_seconds`: Richiedi un manifesto più corto della finestra configurata

**Example MediaTailor inizializzazione della sessione con parametri MediaPackage temporizzati**  
L'esempio seguente mostra come inizializzare una sessione con parametri di visualizzazione spostati nel tempo:  

```
GET /v1/master/123456789/originId/index.m3u8?start=2024-08-26T10:00:00Z&end=2024-08-26T11:00:00Z
```
Oppure utilizzando l'inizializzazione esplicita della sessione:  

```
POST /v1/session/123456789/originId/index.m3u8
{
    "adsParams": {
        "param1": "value1"
    }
}
```
Con parametri di interrogazione aggiuntivi:  

```
?start=2024-08-26T10:00:00Z&end=2024-08-26T11:00:00Z
```

**Comportamento dei parametri durante le sessioni**  
I parametri di visualizzazione con spostamento temporale hanno caratteristiche comportamentali specifiche:
+ **Inizializzazione della sessione:** i parametri vengono elaborati al momento della creazione della sessione
+ **Persistenza dei parametri:** i parametri rimangono associati alla sessione per tutta la riproduzione
+ **Immutabile dopo l'inizializzazione:** i parametri non possono essere modificati durante una sessione attiva
+ **Nuova sessione richiesta:** per modificare le finestre di time-shift, crea una nuova sessione con valori dei parametri aggiornati

**MediaPackage requisiti della finestra di avvio**  
Affinché sia possibile utilizzare la visualizzazione con spostamento temporale MediaPackage, accertatevi di quanto segue:

1. Configura una finestra di avvio sul tuo MediaPackage endpoint (fino a 24 ore)

1. Assicurati che il tuo CDN inoltri i parametri di interrogazione necessari a MediaPackage

1. Utilizzate finestre di riproduzione coerenti tra le sessioni di riproduzione per una migliore memorizzazione nella cache CDN

1. Verificate che gli orari di inizio e fine rientrino nella finestra di avvio configurata

**Importante**  
Quando utilizzi la visualizzazione con spostamento temporale, utilizza finestre di riproduzione coerenti tra le sessioni di gioco anziché generare orari di inizio o fine unici per ogni spettatore. Ciò consente di migliorare la memorizzazione nella cache del CDN ed evitare potenziali throttling.

[https://docs.aws.amazon.com/mediapackage/latest/ug/time-shifted.html](https://docs.aws.amazon.com/mediapackage/latest/ug/time-shifted.html)

# MediaTailor comportamento e persistenza della sessione parametrica
<a name="parameter-session-behavior"></a>

AWS Elemental MediaTailor elabora i parametri al momento dell'inizializzazione della sessione e li mantiene per tutto il ciclo di vita della sessione. La comprensione del comportamento della sessione è fondamentale per l'implementazione di scenari parametrici dinamici.

**Metodi di inizializzazione della sessione**  
MediaTailor supporta diversi metodi per l'inizializzazione della sessione con parametri:

1. **Inizializzazione implicita della sessione:** parametri inclusi nella richiesta del manifesto iniziale

   ```
   GET /v1/master/123456789/originId/index.m3u8?manifest.auth_token=abc123&start=2024-08-26T10:00:00Z
   ```

1. **Inizializzazione esplicita della sessione (POST):** parametri forniti nel corpo della richiesta

   ```
   POST /v1/session/123456789/originId/index.m3u8
   {
       "adsParams": {"param1": "value1"},
       "manifestParams": {"auth_token": "abc123"}
   }
   ```

1. **Inizializzazione esplicita della sessione (GET):** parametri forniti come parametri di interrogazione

   ```
   GET /v1/session/123456789/originId/index.m3u8?ads.param1=value1&manifestParams.auth_token=abc123
   ```

**Persistenza e immutabilità dei parametri**  
MediaTailor il comportamento dei parametri segue queste regole:
+ **Specificazione una tantum:** i parametri possono essere specificati una sola volta, durante l'inizializzazione della sessione
+ **Persistenza a livello di sessione:** i parametri vengono mantenuti per l'intera sessione
+ **Immutabile dopo l'inizializzazione:** i parametri non possono essere modificati dopo la creazione della sessione
+ **Risoluzione degli alias di configurazione:** gli alias vengono risolti in valori effettivi prima dell'inoltro alle destinazioni

**Scenari di modifica dei parametri**  
Per modificare i parametri durante la riproduzione:
+ **Crea nuova sessione:** inizializza una nuova sessione con valori dei parametri aggiornati
+ **Transizione tra giocatori:** trasferisci il giocatore alla nuova sessione senza interruzioni
+ **Ereditarietà dei parametri:** riporta i parametri invariati per mantenere la coerenza

**Example Modifica dei parametri del time-shift**  
Per passare da una finestra di 1 ora a una di 2 ore:  

1. Sessione corrente: `start=2024-08-26T10:00:00Z&end=2024-08-26T11:00:00Z`

1. Crea nuova sessione: `start=2024-08-26T10:00:00Z&end=2024-08-26T12:00:00Z`

1. Trasferisci il giocatore al nuovo URL della sessione

**Importante**  
Le richieste multiple di playlist multivarianti per una singola sessione non aggiornano i parametri dopo la prima richiesta. I parametri rimangono immutabili per tutta la durata della sessione.

# MediaTailor riferimento ai parametri e limitazioni
<a name="parameter-comprehensive-reference"></a>

Prima di configurare le variabili pubblicitarie dinamiche, comprendi i requisiti e le limitazioni di formattazione dei parametri che si applicano a tutte le configurazioni. MediaTailor 

AWS Elemental MediaTailor fornisce informazioni complete sulle restrizioni relative ai caratteri dei parametri, sui limiti di lunghezza e sui formati supportati sia per i parametri di query manifest che per i parametri ADS. 

## restrizioni relative ai caratteri dei parametri di interrogazione manifesta
<a name="manifest-parameter-character-restrictions"></a>

I parametri delle query manifeste supportano caratteri specifici e hanno limiti di lunghezza definiti. 

**Caratteri supportati (senza codifica URL)**  
È possibile utilizzare i seguenti caratteri direttamente nei parametri di query del manifesto: 
+ Caratteri alfanumerici (A-Z, a-z, 0-9)
+ Periodi (.)
+ Trattini (-)
+ Sottolineature (\$1)
+ Barre rovesciate (\$1)

**Caratteri supportati con codifica URL**  
I seguenti caratteri speciali sono supportati quando la codifica URL è codificata: 
+ periodo (.) = %2E
+ trattino (-) = %2D
+ carattere di sottolineatura (\$1) = %5F
+ percentuale (%) = %25
+ tilde (\$1) = %7E
+ barra in avanti (/) = %2F
+ asterisco (\$1) = %2A
+ è uguale a (=) = %3D
+ domanda (?) = %3 F

**Supporto per la codifica degli URL**  
MediaTailor supporta il segno di percentuale (%) quando lo si utilizza nella codifica URL (ad esempio, hello%20world = hello world). È possibile utilizzare qualsiasi carattere con codifica URL, purché si tratti di codifiche URL valide in base alla specifica HTTP. 

**Caratteri non supportati**  
Non è possibile utilizzare i seguenti caratteri nei parametri di query del manifesto senza la codifica URL:`:`,,,`?`, `&` `=``%`, `/` (barra diretta). 

**Importante**  
MediaTailor non supporta caratteri doppi come%%% o ==. Non è possibile utilizzare full URLs come valori dei parametri di query manifest a causa delle restrizioni relative ai caratteri. 

**Limiti di lunghezza**  
La lunghezza totale di tutti i parametri di query del manifesto (chiavi e valori combinati) non deve superare i 2000 caratteri. 

## Limiti alla lunghezza dei parametri ADS
<a name="ads-parameter-limitations"></a>

Le seguenti limitazioni di lunghezza si applicano ai parametri utilizzati nelle richieste all'ADS: 
+ **Nome del parametro ADS**: massimo 10.000 caratteri
+ **Valore del parametro ADS**: massimo 25.000 caratteri
+ **URL ADS**: massimo 25.000 caratteri

# MediaTailor guida alla risoluzione dei parametri
<a name="parameter-troubleshooting"></a>

AWS Elemental MediaTailor fornisce indicazioni per la risoluzione di problemi comuni relativi ai parametri in MediaTailor, tra cui restrizioni dei caratteri, problemi di codifica degli URL ed errori degli alias di configurazione. 

## Errori di restrizione dei caratteri
<a name="parameter-character-restriction-errors"></a>

I valori dei parametri che contengono caratteri non supportati possono causare errori o comportamenti imprevisti. 

**Sintomi comuni**  
I seguenti sintomi possono indicare problemi di limitazione dei caratteri: 
+ Parametri non visualizzati nel manifesto URLs
+ Errori HTTP 400 durante l'inizializzazione della sessione
+ Valori dei parametri troncati o danneggiati
+ Richieste ADS non riuscite a causa di un formato non valido URLs

**Passaggi di risoluzione**  
Per risolvere gli errori di restrizione dei caratteri: 

1. Rivedi i valori dei parametri per i caratteri non supportati:`:`,`?`,,`&`, `=` `%` `/`

1. Applica la corretta codifica URL per i caratteri speciali (vedi) [MediaTailor riferimento ai parametri e limitazioni](parameter-comprehensive-reference.md)

1. Evita caratteri doppi come o `%%%` `==`

1. Prendete in considerazione formati di parametri alternativi se URLs non è possibile utilizzare full

**Example Esempio di codifica URL**  
Invece di usare:   

```
manifest.redirect_url=https://example.com/path?param=value
```
Usa il formato con codifica URL:   

```
manifest.redirect_url=https%3A%2F%2Fexample.com%2Fpath%3Fparam%3Dvalue
```

## Errori di limitazione della lunghezza
<a name="parameter-length-limitation-errors"></a>

I parametri che superano i limiti di lunghezza possono essere troncati o causare errori. 

**Limiti di lunghezza**  
Si applicano i seguenti limiti di lunghezza (vedi [MediaTailor riferimento ai parametri e limitazioni](parameter-comprehensive-reference.md) per i dettagli completi):
+ Parametri della query manifesto (totale): 2000 caratteri
+ Nomi dei parametri ADS: 10.000 caratteri
+ Valori dei parametri ADS: 25.000 caratteri
+ ADS URLs: 25.000 caratteri

**Strategie di risoluzione**  
Per gestire i limiti di lunghezza: 

1. Se possibile, utilizzate nomi e valori di parametro più brevi

1. Dividi i valori dei parametri di grandi dimensioni in più parametri più piccoli

1. Utilizzate alias di configurazione per mappare alias brevi a valori più lunghi (vedete) [MediaTailor panoramica degli alias di configurazione](configuration-aliases-overview.md)

1. Prendi in considerazione l'utilizzo di una memoria esterna per dati di grandi dimensioni con riferimenti ai parametri

## Errori di alias di configurazione
<a name="parameter-configuration-alias-errors"></a>

I problemi relativi agli alias di configurazione possono causare errori HTTP 400 o valori di parametro imprevisti. 

**Errori comuni relativi agli alias di configurazione**  
I seguenti errori si verificano in genere con gli alias di configurazione: 
+ Errore HTTP 400: valore dell'alias mancante o non valido
+ Le variabili di dominio non si risolvono correttamente
+ I parametri del giocatore non vengono sostituiti con valori alias

**Lista di controllo per la risoluzione**  
Per risolvere gli errori relativi agli alias di configurazione: 

1. Verifica che tutte le variabili di dominio siano definite come `ConfigurationAliases`

1. Assicurati che le variabili dei parametri del giocatore utilizzino il `player_params.` prefisso

1. Verifica che l'elenco dei valori con alias sia esaustivo per le variabili di dominio in critical URLs (`VideoContentSourceUrl`,,) `AdSegmentUrlPrefix` `ContentSegmentUrlPrefix`

1. Verifica che le richieste di inizializzazione della sessione specifichino valori di alias validi

1. Convalida la struttura JSON del parametro ConfigurationAliases 

Per una guida dettagliata alla risoluzione dei problemi, vedere. [MediaTailor guida alla risoluzione dei problemi relativi agli alias di configurazione](configuration-aliases-troubleshooting.md)

**Example Convalida degli alias di configurazione**  
Assicurati che la configurazione includa tutti gli alias richiesti:   

```
"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
    }
}
```

## Problemi relativi al flusso di elaborazione dei parametri
<a name="parameter-processing-flow-issues"></a>

La comprensione del flusso di elaborazione dei parametri aiuta a risolvere i problemi relativi all'inoltro e alla trasformazione dei parametri. 

**Ordine di elaborazione dei parametri**  
MediaTailor elabora i parametri nel seguente ordine: 

1. convalida dei parametri di inizializzazione della sessione

1. Risoluzione degli alias di configurazione (se applicabile)

1. Filtraggio dei parametri (ADS vs origin vs manifest)

1. Codifica e formattazione degli URL

1. Applicazione dei parametri a URLs

**Flusso dei parametri di debug**  
Per eseguire il debug dei problemi di elaborazione dei parametri: 

1. Verifica che i parametri siano specificati correttamente nell'inizializzazione della sessione

1. Verifica che gli alias di configurazione si risolvano nei valori previsti

1. Conferma che i parametri siano visualizzati nel modo corretto URLs (manifest, ADS, origin)

1. La codifica URL di convalida è applicata correttamente

**Example Esempio di flusso di parametri**  
Inizializzazione della sessione:   

```
POST master.m3u8
{
    "playerParams": {"origin_domain": "pdx"},
    "manifestParams": {"test": "123"}
}
```
Dopo la risoluzione e l'elaborazione degli alias:   
+ Richiesta di origine: `https://abc.mediapackage.us-west-2.amazonaws.com/out/v1/abcd`
+ URL del manifesto: `/v1/master/.../index.m3u8?aws.sessionId=session&test=123`

## Considerazioni e best practice relative alla sicurezza
<a name="parameter-security-considerations-troubleshooting"></a>

MediaTailor implementa misure di sicurezza per la gestione dei parametri per prevenire problemi di sicurezza comuni. 

**Misure di sicurezza**  
MediaTailor implementa le seguenti misure di sicurezza: 

1. Limitazioni delle dimensioni di input per prevenire il sovraccarico del database

1. Codifica e sanificazione corrette dell'input dell'utente

1. Codifica URL dell'input per prevenire il danneggiamento della risposta

**Best practice**  
Segui queste best practice per una gestione sicura dei parametri: 
+ Convalida i valori dei parametri sul lato client prima dell'invio
+ Utilizzate gli alias di configurazione per limitare i possibili valori dei parametri
+ Evita di includere informazioni sensibili nei parametri
+ Monitora l'utilizzo dei parametri per individuare modelli insoliti
+ Mantieni i valori dei parametri entro i limiti di lunghezza consigliati

# MediaTailor guida alla risoluzione dei problemi relativi agli alias di configurazione
<a name="configuration-aliases-troubleshooting"></a>

AWS Elemental MediaTailor fornisce una guida sistematica alla risoluzione dei problemi più comuni relativi agli alias di configurazione e agli scenari di errore. 

## errori di convalida degli alias di configurazione
<a name="configuration-alias-validation-errors"></a>

Quando gli alias di configurazione sono mancanti o non validi, MediaTailor restituisce risposte di errore specifiche per aiutare a identificare il problema. 

**Scenari di errore comuni**  
La tabella seguente descrive gli errori più comuni relativi agli alias di configurazione e i relativi passaggi di risoluzione: 


| Errore | Causa | Risoluzione | 
| --- | --- | --- | 
| HTTP 400: alias del parametro del giocatore non valido | Valore del parametro del giocatore non trovato in ConfigurationAliases | Verifica che il valore del parametro player esista come chiave nella ConfigurationAliases mappatura corrispondente | 
| HTTP 400: alias di configurazione richiesto mancante | Variabile di dominio utilizzata senza la voce corrispondente ConfigurationAliases | Aggiungi il parametro player mancante a ConfigurationAliases con tutte le mappature degli alias richieste | 
| HTTP 400: convalida della configurazione non riuscita | ConfigurationAliases la struttura è malformata o incompleta | Convalida la struttura JSON e assicurati che tutte le variabili di dominio abbiano alias corrispondenti | 
| Sostituzione di stringhe vuote in URLs | Alias variabile non di dominio non trovato | Aggiungi la mappatura degli alias mancante o fornisci il valore predefinito in ConfigurationAliases | 

**Lista di controllo per la convalida**  
Utilizza la seguente lista di controllo per convalidare la configurazione degli alias di configurazione: 

1. **Copertura delle variabili di dominio:** assicurati che tutte le variabili utilizzate nelle porzioni del URLs dominio abbiano voci corrispondenti ConfigurationAliases 

1. **Completezza degli alias:** verifica che tutti i possibili valori dei parametri del giocatore siano inclusi come chiavi nelle mappature degli alias

1. **Struttura JSON:** verifica che il JSON sia formattato e annidato correttamente ConfigurationAliases 

1. **Denominazione dei parametri:** conferma che tutti i parametri del giocatore utilizzino il prefisso `player_params.`

1. **Coerenza dei valori:** assicurati che i valori degli alias siano validi per l'uso previsto (nomi di profiloURLs, ecc.)

## Risoluzione degli alias di configurazione per il debug
<a name="configuration-alias-debugging"></a>

Segui questo approccio sistematico per eseguire il debug dei problemi di risoluzione degli alias di configurazione. 

**Step-by-step metodologia di debug**  
Utilizza i seguenti passaggi per identificare e risolvere i problemi relativi agli alias di configurazione: 

**Procedura di debug degli alias di configurazione**

1. **Verifica della struttura di configurazione:** verifica che la configurazione di riproduzione includa una formattazione corretta ConfigurationAliases

   ```
   {
       "ConfigurationAliases": {
           "player_params.example_param": {
               "alias1": "value1",
               "alias2": "value2"
           }
       }
   }
   ```

1. **Controlla il formato dei parametri del lettore:** assicurati che l'inizializzazione della sessione includa i parametri del lettore formattati correttamente

   ```
   {
       "playerParams": {
           "example_param": "alias1"
       }
   }
   ```

1. **Convalida la mappatura degli alias:** conferma che il valore del parametro player («alias1") esista come chiave nella mappatura ConfigurationAliases 

1. **Esegui il test con una configurazione semplice: inizia con una configurazione minima** per isolare il problema

1. **Monitora le risposte agli errori:** controlla le risposte MediaTailor di errore per messaggi di convalida specifici

1. **Verifica risoluzione URLs:** verifica che le risoluzioni finali URLs siano valide e accessibili

## Procedure consigliate per gli alias di configurazione
<a name="configuration-alias-best-practices"></a>

Segui queste best practice per garantire un'implementazione affidabile degli alias di configurazione. 

**Considerazioni relative alla sicurezza**  
Implementa le seguenti misure di sicurezza quando utilizzi gli alias di configurazione: 
+ **Convalida dell'input:** convalida tutti i valori dei parametri del giocatore prima di utilizzarli nella risoluzione degli alias
+ Eliminazione dei **valori degli alias: assicurati che i valori degli** alias contengano solo i caratteri e i formati previsti
+ **Restrizioni relative al dominio:** limita gli alias di dominio a domini affidabili e controllati
+ **Controllo degli accessi:** limita la modifica della configurazione solo al personale autorizzato

**Ottimizzazione delle prestazioni**  
Ottimizza le prestazioni degli alias di configurazione con questi consigli: 
+ **Riduci al minimo il numero di alias:** utilizza solo gli alias necessari per ridurre il sovraccarico di elaborazione
+ **Denominazione efficiente:** utilizza convenzioni di denominazione chiare e coerenti per alias e parametri
+ **Valori predefiniti:** forniscono alias predefiniti ragionevoli per i casi d'uso comuni
+ **Memorizzazione nella cache della configurazione:** sfrutta la memorizzazione nella cache MediaTailor della configurazione per migliorare le prestazioni

**Manutenzione e monitoraggio**  
Mantieni operazioni affidabili sugli alias di configurazione con queste pratiche: 
+ **Convalida regolare:** verifica periodicamente che tutti i mapping degli alias siano aggiornati e funzionanti
+ **Monitoraggio degli errori:** monitora gli errori HTTP 400 relativi ad alias mancanti o non validi
+ **Documentazione:** mantieni una documentazione chiara di tutte le mappature degli alias e dei relativi scopi
+ **Procedure di test:** implementa test completi per tutte le combinazioni di alias