

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# MediaTailor variables de anuncios dinámicos para solicitudes de ADS
<a name="variables"></a>

AWS Elemental MediaTailor utiliza variables publicitarias dinámicas para pasar la información de la sesión de visualización al servidor de decisiones publicitarias (ADS). Esta información ayuda al ADS a seleccionar los anuncios más relevantes para tus espectadores.

En esta sección, se proporciona una descripción general de las variables de los anuncios dinámicos y enlaces a guías de implementación específicas. Para obtener instrucciones step-by-step de configuración, consulta los temas individuales que aparecen a continuación.

**Tipos de variables dinámicas**  
MediaTailor admite cuatro tipos de variables dinámicas:
+ **Variables de sesión**: valores generados automáticamente, como el ID de sesión y los datos del SCTE-35. Consulte [MediaTailor variables de sesión para solicitudes de ADS](variables-session.md).
+ **Variables del reproductor**: parámetros personalizados enviados por el reproductor de vídeo. Consulte [MediaTailor variables de reproductor para solicitudes de ADS](variables-player.md).
+ **Variables de dominio** con **alias de configuración**: dominios URL dinámicos para configuraciones de varios orígenes. 
+ **Alias de configuración**: mapeos predefinidos para el reemplazo dinámico de variables. Consulte [Alias de configuración](configuration-aliases-overview.md).

**Casos de uso comunes**  
Utilice variables de anuncios dinámicos para:
+ Transfiere los datos demográficos y las preferencias de los espectadores a tus ADS
+ Dirija las solicitudes a diferentes orígenes en función de la ubicación geográfica
+ Habilite la visualización en horario con MediaPackage la integración
+ Implemente A/B escenarios de prueba y conmutación por error

En las siguientes secciones se proporciona información adicional sobre el uso de variables de anuncios dinámicos con MediaTailor.

**Topics**
+ [Variables de sesión](variables-session.md)
+ [Variables de jugador](variables-player.md)
+ [Variables de dominio](variables-domains.md)
+ [Alias de configuración](configuration-aliases-overview.md)
+ [Pasar parámetros de ADS](passing-paramters-to-the-ads.md)
+ [Enrutamiento de parámetros](parameter-routing-behavior.md)
+ [Integración de MediaPackage](mediapackage-integration-param.md)
+ [Comportamiento de sesión](parameter-session-behavior.md)
+ [Referencia de parámetros](parameter-comprehensive-reference.md)
+ [Solución de problemas de parámetros](parameter-troubleshooting.md)
+ [Solución de problemas de alias](configuration-aliases-troubleshooting.md)

Para conocer los requisitos de formato de los parámetros y la solución de problemas, consulte [MediaTailor referencia y limitaciones de los parámetros](parameter-comprehensive-reference.md) y[MediaTailor guía de solución de problemas de parámetros](parameter-troubleshooting.md).

# MediaTailor variables de sesión para solicitudes de ADS
<a name="variables-session"></a>

AWS Elemental MediaTailor envía los datos de la sesión al servidor de decisiones publicitarias (ADS) cuando se configura AWS Elemental MediaTailor para especificar una o más de las variables que se enumeran en esta sección en la URL de ADS de la plantilla. Puede utilizar variables individuales y concatenar varias variables para crear un único valor. MediaTailor genera algunos valores y obtiene el resto de fuentes como el manifiesto y la solicitud de inicialización de sesión del jugador. 

En la siguiente tabla se describen las variables de datos de sesión que puede utilizar en la configuración de la URL de solicitud de ADS de su plantilla. Los números de sección que aparecen en la tabla corresponden a la versión 2019a de la especificación -35 de la Sociedad de Ingenieros de Telecomunicaciones por Cable (SCTE), denominada [Digital Program Insertion Cueing Message](https://account.scte.org/standards/library/catalog/scte-35-digital-program-insertion-cueing-message/). Para obtener más información sobre la captura previa de anuncios, consulte. [Búsqueda previa de anuncios](prefetching-ads.md)


| Name | Disponible para la captura previa de anuncios | Sección de especificaciones del SCTE-35 | Description (Descripción) | 
| --- | --- | --- | --- | 
| [avail.index] | Sí |  | Número que representa la posición de un anuncio disponible en un índice. Al inicio de una sesión de reproducción, MediaTailor crea un índice de todos los anuncios disponibles en un manifiesto y lo guarda durante el resto de la sesión. Cuando solicita MediaTailor a la ADS que llene el formulario de disponibilidad del anuncio, se incluye el número de índice de disponibilidad del anuncio. Este parámetro permite a ADS mejorar la selección de anuncios mediante características como la exclusión competitiva y la limitación de frecuencia. | 
| [avail.random] | Sí |  | Un número aleatorio entre 0 y 10 000 000 000 000, como número largo, que se MediaTailor genera por cada solicitud al ADS. Algunos servidores de anuncios utilizan este parámetro para habilitar características como separar los anuncios de empresas en competencia. | 
| [scte.archive\$1allowed\$1flag] | Sí | 10.3.3.1 | Un valor booleano opcional. Cuando este valor es 0, las restricciones de grabación se imponen en el segmento. Cuando este valor es 1, las restricciones de grabación no se imponen en el segmento. | 
| [scte.avail\$1num] | Sí | 9.7.2.1 | El valor analizado MediaTailor desde el campo SCTE-35avail\$1num, como un número largo. MediaTailor Puede usar este valor para designar números lineales y disponibles.El valor debe ser un número entero. | 
| [scte.avails\$1expected] | Sí | 9,7.2.1 | Un valor largo opcional que proporciona el recuento esperado de validaciones en el evento actual. | 
| [scte.delivery\$1not\$1restricted\$1flag] | Sí | 10.3.3.1 | Un valor booleano opcional. Cuando este valor es 0, se reservan los cinco bits siguientes. Cuando este valor es 1, los cinco bits siguientes adquieren los significados descritos en la especificación SCTE-35. | 
| [scte.device\$1restrictions] | Sí | 10.3.3.1 | Un valor entero opcional que señala tres grupos de dispositivos predefinidos, independientes y no jerárquicos. Para obtener más información sobre esta variable, consulte la descripción segments\$1expected en la especificación SCTE-35. | 
| [scte.event\$1id] | Sí | 9.1 y 9.7.2.1 | El valor analizado MediaTailor desde el campo SCTE-35splice\$1event\$1id, como un número largo. MediaTailor Utiliza este valor para designar números de disponibilidad de anuncios lineales o para rellenar cadenas de consulta del servidor de anuncios, como las posiciones de los pods de anuncios.El valor debe ser un número entero. | 
| [scte.no\$1regional\$1blackout\$1flag] | Sí | 10.3.3.1 | Un valor booleano opcional. Cuando este valor es 0, se aplican restricciones de bloqueo regionales al segmento. Cuando este valor es 1, las restricciones de bloqueo regionales no se aplican al segmento. | 
| [scte.segment\$1num] | Sí | 10.3.3.1 | Un valor entero opcional que numera los segmentos de un conjunto de segmentos. Para obtener más información sobre esta variable, consulte la descripción segment\$1num en la especificación SCTE-35. | 
| [scte.segmentation\$1event\$1id]  | Sí | 10.3.3.1 | MediaTailor expone esta variable como. [scte.event_id](#scte.event_id) | 
| [scte.segmentation\$1type\$1id] | Sí | 10.3.3.1 | Un valor entero de 8 bits opcional que especifica el tipo de segmentación. Para obtener más información sobre esta variable, consulte la descripción del segmentation\$1type\$1id en la especificación SCTE-35. | 
| [scte.segmentation\$1upid] |  `segmentation_upid_type`: sí `private_data`: sí  |  **segmentation\$1upid: 10.3.3.1** UPID privado gestionado: 10.3.3.3  |  Corresponde al elemento SCTE-35. `segmentation_upid` El `segmentation_upid` elemento contiene `segmentation_upid_type` y. `segmentation_upid_length` MediaTailor admite los siguientes `segmentation_upid` tipos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/variables-session.html)  | 
| [scte.segmentation\$1upid.assetId] | Sí |  | Se utiliza junto con el UPID privado gestionado (0xC) para los flujos de trabajo de Podbuster. segmentation\$1 upid\$1type MediaTailorobtiene este valor del assetId parámetro de la estructura JSON de la MPU. private\$1data Para obtener más información, consulte [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow). | 
| [scte.segmentation\$1upid.cueData.key] | Sí |  | Se utiliza junto con el UPID privado gestionado (0xC) para los flujos de trabajo de Podbuster. segmentation\$1 upid\$1type MediaTailorobtiene este valor del cueData.key parámetro de la estructura JSON de la MPU. private\$1data Para obtener más información, consulte [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow). | 
| [scte.segmentation\$1upid.cueData.value] | Sí |  | Se utiliza junto con el UPID privado gestionado (0xC) para los flujos de trabajo de Podbuster. segmentation\$1 upid\$1type MediaTailorobtiene este valor del cueData.key parámetro de la estructura JSON de la MPU. private\$1data Para obtener más información, consulte [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow).El valor puede ser una cadena. | 
| [scte.segmentation\$1upid.private\$1data.\$1index\$1] | Sí |  | Se utiliza junto con el UPID privado gestionado (0xC) segmentation\$1upid\$1type para flujos de trabajo de publicidad segmentada. MediaTailor divide los identificadores UPID de segmentación delimitados por dos puntos y crea variables de sesión indexadas. El índice corresponde a la posición en la lista delimitada por dos puntos e ignora los espacios en blanco que aparecen al principio de los dos puntos iniciales. Por ejemplo, si, entonces: `segmentation_upid = ":3213214:2313321/5:3943"` [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/variables-session.html) El valor puede ser una cadena. | 
| [scte.segments\$1expected] | Sí | 10.3.3.1 | Un valor entero opcional que proporciona el recuento esperado de segmentos individuales dentro de un conjunto de segmentos. Para obtener más información sobre esta variable, consulte la descripción segments\$1expected en la especificación SCTE-35. | 
| [scte.sub\$1segment\$1num] | Sí | 10.3.3.1 | Un valor entero opcional que identifica un subsegmento concreto dentro de un conjunto de subsegmentos. Para obtener más información sobre esta variable, consulte la descripción del sub\$1segment\$1num en la especificación SCTE-35. | 
| [scte.sub\$1segments\$1expected] | Sí | 10.3.3.1 | Un valor entero opcional que proporciona el recuento esperado de subsegmentos individuales dentro de un conjunto de subsegmentos. Para obtener más información sobre esta variable, consulte la descripción de sub\$1segments\$1expected en la especificación SCTE-35. | 
| [scte.unique\$1program\$1id] | Sí | 9.7.2.1 | El valor entero analizado MediaTailor desde el campo SCTE-35. splice\$1insert unique\$1program\$1id El ADS utiliza el ID de programa exclusivo (UPID) para proporcionar destinos de anuncios en el nivel del programa para una secuencia lineal en directo. Si el comando SCTE-35 no es splice insert, lo MediaTailor establece en un valor vacío.El valor debe ser un número entero. | 
| [session.avail\$1duration\$1ms] | Sí |  |  La duración en milisegundos del espacio de disponibilidad del anuncio. El valor predeterminado es de 300 000 ms. AWS Elemental MediaTailor obtiene el valor de duración del manifiesto de entrada de la siguiente manera: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/variables-session.html)  | 
| [session.avail\$1duration\$1secs] | Sí |  | La duración en segundos del espacio de disponibilidad del anuncio, o disponibilidad del anuncio, se redondea al segundo más cercano. MediaTailor determina este valor del mismo modo que lo determina[session.avail\$1duration\$1ms]. | 
| [session.client\$1ip] | No |  | La dirección IP remota de la que proviene la MediaTailor solicitud. Si se ha definido el encabezado X-forwarded-for, ese valor es el que MediaTailor utiliza para client\$1ip. | 
| [session.id] | No |  | Un identificador numérico único para la sesión de reproducción actual. Todas las solicitudes que realiza un reproductor para una sesión tienen el mismo ID y, por tanto, ese ID se puede usar para los campos de ADS diseñados para relacionar solicitudes de una única visualización. | 
| [session.referer] | No |  | Normalmente, la URL de la página que aloja el reproductor de vídeo. MediaTailor establece esta variable en el valor del Referer encabezado que el reproductor utilizó en su solicitud MediaTailor. Si el reproductor no proporciona este encabezado, MediaTailor deja [session.referer] vacío. Si utilizas una red de entrega de contenido (CDN) o un proxy delante del punto final del manifiesto y quieres que aparezca esta variable, coloca aquí el encabezado correcto desde el reproductor. | 
| [session.user\$1agent] | No |  | El User-Agent encabezado que se MediaTailor recibió de la solicitud de inicialización de sesión del jugador. Si utiliza una CDN o proxy delante del punto de enlace del manifiesto, debe delegar el encabezado correcto desde el reproductor aquí. | 
| [session.uuid] | No |  |  Alternativa a. **[session.id]** Se trata de un identificador único de la sesión de reproducción actual, como el siguiente: <pre>e039fd39-09f0-46b2-aca9-9871cc116cde</pre>  | 
| [avail.source\$1content\$1time\$1epoch\$1ms] | No |  |  En el caso del HLS, el valor es el PDT del segmento de origen que inició la descarga. En el caso de DASH, el valor es el `<SupplementalProperty> urn:scte:dash:utc-time` `<Period>` que contiene el. `<EventStream>` [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/variables-session.html)  | 

**Example**  
Si el ADS requiere que un parámetro de consulta denominado `deviceSession` se pase con el identificador de sesión único, la URL de ADS de plantilla de AWS Elemental MediaTailor podría tener un aspecto similar al siguiente:  

```
https://my.ads.server.com/path?deviceSession=[session.id]
```
AWS Elemental MediaTailor genera automáticamente un identificador único para cada transmisión e introduce el identificador en lugar de. `session.id` Si el identificador lo es`1234567`, la solicitud final que se MediaTailor haga al ADS tendría un aspecto similar al siguiente:  

```
https://my.ads.server.com/path?deviceSession=1234567
```
Si el ADS requiere que se pasen varios parámetros de consulta, la URL del ADS de la plantilla AWS Elemental MediaTailor podría tener el siguiente aspecto:  

```
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]
```
En el siguiente fragmento XML de ejemplo del marcador DASH se muestra cómo usarlo`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>
```
El siguiente fragmento XML de ejemplo de marcador DASH muestra cómo usarlo`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>
```
El siguiente fragmento XML de ejemplo de marcador DASH muestra cómo usarlo`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>
```
El siguiente ejemplo de etiqueta HLS muestra cómo usarla`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
```
En el siguiente ejemplo de etiqueta HLS se muestra cómo utilizarla: `EXT-X-CUE-OUT`  

```
#EXT-OATCLS-SCTE35:/DA0AAAAAAAAAAAABQb+ADAQ6QAeAhxDVUVJQAAAO3/PAAEUrEoICAAAAAAg+2UBNAAANvrtoQ==  
#EXT-X-ASSET:CAID=0x0000000020FB6501  
#EXT-X-CUE-OUT:201.467
```
En el siguiente ejemplo de etiqueta HLS se muestra cómo utilizarla: `EXT-X-SPLICEPOINT-SCTE35`  

```
#EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==
```
El siguiente ejemplo muestra cómo utilizar la `scte35:Binary` decodificación:  

```
{
  "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 variables de reproductor para solicitudes de ADS
<a name="variables-player"></a>

AWS Elemental MediaTailor envía los datos recibidos del reproductor al ADS cuando AWS Elemental MediaTailor configuras para especificar `player_params.<query_parameter_name>` variables en la URL de ADS de la plantilla. Por ejemplo, si el reproductor envía un parámetro de consulta mencionado `user_id` en su solicitud a MediaTailor, para pasar esos datos en la solicitud de ADS, inclúyalo `[player_params.user_id]` en la configuración de la URL de ADS. 

Esto le permite controlar los parámetros de consulta que se incluyen en la solicitud de ADS. Normalmente, se añade un parámetro de consulta especial que el ADS reconoce a la URL de solicitud de ADS y se proporcionan pares de clave-valor como el valor del parámetro. 

Los ejemplos que se utilizan en el siguiente procedimiento utilizan los siguientes pares de clave-valor:
+ *param1* con un valor de *value1:*
+ *param2* con un valor de *value2:*

**Para añadir parámetros de consulta como pares de clave-valor** 

1. En AWS Elemental MediaTailor, configure la URL de la plantilla de solicitud de ADS para que haga referencia a los parámetros. La siguiente URL muestra la inclusión de los parámetros de ejemplo: 

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

1. (Opcional) Para los informes de seguimiento de anuncios del lado del servidor, codifique en formato URL los pares de clave-valor del reproductor. Cuando MediaTailor recibe la solicitud de inicialización de la sesión, decodifica los valores una vez en la URL antes de sustituirlos en la URL de la solicitud de ADS. 
**nota**  
Si su ADS requiere un valor codificado como URL, codifique el valor en formato URL dos veces en el reproductor. De esta forma, la decodificación realizada por el ADS MediaTailor da como resultado un valor codificado una vez. 

   Por ejemplo, si la representación descodificada de los valores enviados al ADS es `param1=value1:&param2=value2:`, la representación codificada como URL es `param1=value1%3A&param2=value2%3A`.

1. En la llamada de inicialización de sesión del reproductor, transfiera los pares clave-valor a MediaTailor como el valor de un único parámetro de consulta. Las siguientes llamadas de ejemplo proporcionan los pares de clave-valor de ejemplo para los informes de seguimiento de anuncios del lado del servidor y del cliente.
   + Ejemplo de solicitudes para informes de seguimiento de anuncios del lado del servidor mediante pares codificados como URL

     HLS:

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

     DASH:

     ```
     <manifest>.mpd?ads.param1=value1%3A&ads.param2=value2%3A
     ```
   + Solicitud de ejemplo para informes de seguimiento de anuncios del lado del servidor sin codificación en URL

     HLS:

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

     DASH:

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

Para generar informes desde el servidor, MediaTailor decodifica los parámetros cuando se recibe la solicitud del jugador. En el caso de los informes del lado del cliente, no altera los parámetros recibidos en la carga útil de JSON. MediaTailor envía la siguiente solicitud al ADS:

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

De esta forma, los pares de clave-valor `param1` y `param2` se incluyen como parámetros de consulta de primera clase en la solicitud de ADS.

# MediaTailor variables de dominio para múltiples fuentes de contenido
<a name="variables-domains"></a>

AWS Elemental MediaTailor Las variables de dominio dinámicas le permiten usar varios dominios, como la parte **my-ads-server.com** de la URL http://my-ads-server.com, con los parámetros del reproductor en su configuración. Esto te permite usar más de una fuente de contenido o un servidor de decisiones publicitarias (ADS) en una sola configuración. 

 Puedes usar variables de dominio con cualquier parámetro que contenga un URI: 
+ `AdDecisionServerUrl`
+ `AdSegmentUrlPrefix`
+ `ContentSegmentUrlPrefix`
+ `LivePreroll.AdDecisionServerUrl`
+ `VideoContentSourceUrl`

 Las variables de dominio se utilizan junto con los *alias de configuración* para sustituir las variables de forma dinámica. Los alias de configuración asignan un conjunto de alias y valores a los parámetros del reproductor que se utilizan para la configuración dinámica del dominio. Para conocer los procedimientos de configuración, consulte. [Creación y uso de alias de configuración con MediaTailor](creating-configuration-aliases.md) Para obtener información de referencia detallada, consulte[MediaTailor descripción general de los alias de configuración](configuration-aliases-overview.md). 

# MediaTailor descripción general de los alias de configuración
<a name="configuration-aliases-overview"></a>

AWS Elemental MediaTailor Los alias de configuración permiten la sustitución dinámica de variables en los dominios URL y otros campos compatibles. Utilice esta función para utilizar varios dominios y realizar una configuración dinámica URLs durante la inicialización de la sesión.

## Casos de uso
<a name="configuration-aliases-use-cases"></a>

Los alias de configuración permiten arquitecturas sofisticadas de múltiples configuraciones para los siguientes escenarios:
+ **Enrutamiento geográfico: dirija** las solicitudes a diferentes orígenes o servidores de anuncios en función de la ubicación del espectador mediante alias específicos de la región. [Para obtener instrucciones sobre la implementación, consulta Origin FailoverCloudFront .](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)
+ **Enrutamiento basado en el contenido:** dirija los diferentes tipos de contenido a orígenes o canales de procesamiento especializados. Para obtener información sobre la configuración del comportamiento de enrutamiento, consulte. [Configure los comportamientos de enrutamiento de CDN para MediaTailor](cdn-routing-behaviors.md)
+ **Escenarios de conmutación por error:** Implemente los orígenes de las copias de seguridad y los servidores de anuncios con una conmutación por error automática mediante el cambio de alias. Para obtener información detallada sobre la implementación, consulte [Implemente la resiliencia multirregional MediaTailor con MQAR](media-quality-resiliency.md) y. [Planifique su integración de CDN para AWS Elemental MediaTailor](planning-cdn-integration.md)
+ **Pruebas A/B:** prueba diferentes servidores de anuncios, orígenes o configuraciones enrutando el tráfico en función de los parámetros del reproductor. Para obtener información sobre las pruebas de carga, consulta [Cómo preparar y ejecutar pruebas de rendimiento para Amazon CloudFront con supervisión de usuarios reales](https://aws.amazon.com/blogs/networking-and-content-delivery/prepare-and-run-performance-tests-for-amazon-cloudfront-with-real-user-monitoring/).
+ **Optimización específica para cada dispositivo:** optimice la entrega de contenido y la publicación de anuncios para diferentes tipos de dispositivos o capacidades. Para obtener una guía completa, consulte. [Configura el filtrado de manifiestos con MediaTailor MediaPackage, y CDN](cdn-emp-manifest-filtering.md)
+ **Equilibrio de carga:** distribuya la carga entre varios orígenes o servidores de anuncios mediante el enrutamiento dinámico. Para obtener orientación sobre la implementación, consulte [Implemente la resiliencia multirregional MediaTailor con MQAR](media-quality-resiliency.md) y[Planifique su integración de CDN para AWS Elemental MediaTailor](planning-cdn-integration.md).

## Campos compatibles
<a name="configuration-aliases-supported"></a>

Puede utilizar variables dinámicas en los siguientes campos de configuración:
+ `VideoContentSourceUrl`
+ `AdDecisionServerUrl`
+ `LivePreroll.AdDecisionServerUrl`
+ `AdSegmentUrlPrefix`
+ `ContentSegmentUrlPrefix`
+ `TranscodeProfileName`
+ `SlateAdUrl`
+ `StartUrl`
+ `EndUrl`

En las siguientes secciones se describe cómo utilizar los alias de configuración.

**Topics**
+ [Casos de uso](#configuration-aliases-use-cases)
+ [

## Campos compatibles
](#configuration-aliases-supported)
+ [Crear y usar](creating-configuration-aliases.md)
+ [Ejemplo de flujo](configuration-aliases-examples.md)

# Creación y uso de alias de configuración con MediaTailor
<a name="creating-configuration-aliases"></a>

Antes de empezar a usar variables de dominio, debe crear alias de configuración para su configuración. Los alias de configuración se utilizan como variables de reemplazo del dominio en el momento de la inicialización de la sesión.

**Restricciones**  
Tenga en cuenta las siguientes restricciones al utilizar los alias de configuración:
+ Todas las variables dinámicas utilizadas en el dominio deben definirse como variables `ConfigurationAliases` dinámicas.
+ Las variables de los parámetros del reproductor deben ir precedidas de`player_params.`. Por ejemplo, `player_params.origin_domain`.
+ La lista de valores con alias debe ser exhaustiva para las variables de dominio críticas URLs (`VideoContentSourceUrl`,`AdSegmentUrlPrefix`,`ContentSegmentUrlPrefix`).
+ Si se realiza una solicitud para una variable de dominio crítica URLs que no especifica la variable dinámica o utiliza un alias no válido, la solicitud fallará con un código de `400` estado HTTP. Los campos no críticos (`SlateAdUrl`,`TranscodeProfileName`, bumper URLs) registrarán las advertencias pero no rechazarán la solicitud.

**Comportamiento alternativo para los alias faltantes**  
Cuando los alias de configuración no se encuentran o no son válidos, MediaTailor implementa el siguiente comportamiento alternativo:
+ **Variables de dominio:** si falta un alias de variable de dominio o no es válido, la solicitud falla con el código de estado HTTP 400. Todas las variables de dominio deben tener definidos alias válidos.
+ **Variables que no son de dominio:** en el caso de las variables que se utilizan en partes que no son de dominio URLs (como los elementos de ruta o los parámetros de consulta), si faltan alias, se reemplaza una cadena vacía.
+ **Validación de la configuración:** MediaTailor valida que todos los alias necesarios estén presentes durante las operaciones de creación y actualización de la configuración.

## Paso 1: Crear alias de configuración
<a name="dynamic-domains-creating-configuration-alias"></a>

Para crear alias de configuración para utilizarlos en la sustitución de dominios mediante la MediaTailor consola, lleve a cabo el siguiente procedimiento.

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

**Para crear alias de configuración mediante la consola**

1. Abra la MediaTailor consola en. [https://console.aws.amazon.com/mediatailor/](https://console.aws.amazon.com/mediatailor/)

1. En la sección **Alias de configuración** de la página de **configuraciones**, selecciona **Añadir parámetro de reproductor**. 

1. En **Parámetro del reproductor**, introduzca el nombre del parámetro del reproductor que desee utilizar como variable dinámica. Por ejemplo, `player_params.origin_domain`. 

1. En el caso de los **alias**, introduzca los alias y sus valores que desee utilizar para el parámetro del reproductor. 

1. Seleccione **Aceptar**. 

   AWS Elemental MediaTailor muestra el nuevo parámetro en la tabla de la sección **Alias de configuración**.

1. Repita los pasos anteriores para añadir más parámetros del reproductor. 

1. Seleccione **Save**. 

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

**Para crear alias de configuración mediante la API**  
Al crear o actualizar una MediaTailor configuración, utilice el `ConfigurationAliases` parámetro con la siguiente estructura 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"
                }
                }
                }
```

------

## Paso 2: Utilice los alias de configuración en la inicialización de la sesión
<a name="dynamic-domains-using-configuration-alias"></a>

Después de configurar los alias de configuración, puede usarlos como variables de reemplazo para los dominios de su solicitud de inicialización de sesión. Esto le permite configurar dinámicamente los dominios de la sesión.

**Example Ejemplo de alias de configuración básica**  
Este es un ejemplo básico de una configuración que incluye alias de configuración y variables de dominio dinámicas:  

```
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 Inicialización de la sesión con alias**  
Con la configuración anterior, una solicitud de inicialización de sesión que utilice las variables y los alias del reproductor tendría un aspecto similar al siguiente:  

```
POST index.m3u8
{
    "playerParams": {
        "origin_domain": "pdx",
        "region": "pdx",
        "endpoint_id": "pdx",
        "ad_type": "customized"
    }
}
```
MediaTailor reemplaza las cadenas de alias por los valores mapeados en la configuración de los alias de configuración.  
La solicitud al ADS tendrá el siguiente aspecto:  

```
https://abc.execute-api.us-west-2.amazonaws.com/ads?sid=[session.id]&ad_type=abc12345
```
La solicitud de los manifiestos al origen tendrá el siguiente aspecto:  

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

# Alias de configuración con ejemplo MediaTailor de uso
<a name="configuration-aliases-examples"></a>

En los siguientes ejemplos se muestra cómo completar una MediaTailor configuración con alias de configuración, una solicitud de inicialización de sesión con alias y el flujo de procesamiento de los alias.

**Example Configuración completa con alias**  
El siguiente ejemplo muestra una configuración completa que incluye alias de configuración y variables de dominio dinámicas:   

```
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 Inicialización de la sesión con alias**  
El siguiente ejemplo muestra una solicitud de inicialización de sesión que especifica las variables y los alias del reproductor:   

```
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 Flujo de procesamiento de parámetros**  
En el siguiente ejemplo, MediaTailor reemplaza las cadenas de alias por los valores mapeados en los alias de configuración. El procesamiento da como resultado las siguientes solicitudes:   
+ Solicitud de ADS:

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

  ```
  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 pasar parámetros a ADS
<a name="passing-paramters-to-the-ads"></a>

AWS Elemental MediaTailor permite configurar variables dinámicas en las MediaTailor solicitudes al ADS mediante los siguientes pasos. 
+ Para obtener información sobre los formatos admitidos para los parámetros de consulta, consulte[MediaTailor referencia y limitaciones de los parámetros](parameter-comprehensive-reference.md).
+ Para ver los alias de configuración y las variables de dominio, consulte[MediaTailor descripción general de los alias de configuración](configuration-aliases-overview.md).
+ Para ver personalizaciones adicionales de la solicitud de ADS, consulte. [Uso avanzado](#variables-advanced-usage)

**Métodos de inicialización de la sesión**  
MediaTailor admite varios métodos para la inicialización de la sesión y el paso de parámetros: 

1. **POST con cuerpo de solicitud:**

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

1. **Parámetros de consulta en la URL:**

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

**importante**  
Solo puede especificar los parámetros una vez, en el momento de la inicialización. Los alias de configuración se resuelven con los valores reales antes de reenviarlos. 

**Para pasar información de la sesión y el reproductor a ADS**

1. Trabaje con el ADS para determinar la información que necesita para responder a una consulta de anuncios. AWS Elemental MediaTailor

1. Crea una configuración MediaTailor que utilice una plantilla de URL de solicitud de ADS que cumpla los requisitos de ADS. En la URL, incluya parámetros estáticos y marcadores de posición para los parámetros dinámicos. Especifique la URL de la plantilla en el campo **Ad decision server (Servidor de decisión de anuncios)** de la configuración. 

   En el siguiente ejemplo, la URL de la plantilla, `correlation`, proporciona datos de la sesión y `deviceType` proporciona datos del reproductor: 

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

1. En el reproductor, configure la solicitud de inicio de sesión para que AWS Elemental MediaTailor proporcione los parámetros para los datos del reproductor. Incluya los parámetros en la solicitud de inicio de sesión y omítalos en las solicitudes de sesión posteriores. 

   El tipo de llamada que realiza el jugador para inicializar la sesión determina si el jugador (cliente) o MediaTailor (servidor) proporciona informes de seguimiento de anuncios para la sesión. Para obtener información sobre estas dos opciones, consulte [Elaboración de informes y datos de seguimiento](ad-reporting.md). 

   Realice uno de los siguientes tipos de llamadas, en función de si desea realizar informes de seguimiento de anuncios en el servidor o en el cliente. En ambas llamadas de ejemplo, `userID` es para el ADS y `auth_token` es para el origen:
   + (Opcional) Solicita informes de seguimiento de anuncios en el servidor: añade un prefijo a los parámetros que quieres enviar MediaTailor al ADS. `ads` Suprima el prefijo para los parámetros que desee que MediaTailor envíe al servidor de origen: 

     Los siguientes ejemplos muestran las solicitudes entrantes de HLS y DASH a. AWS Elemental MediaTailor MediaTailor usa el `deviceType` en su solicitud al ADS y el `auth_token` en su solicitud al servidor de origen. 

     Ejemplo de HLS:

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

     Ejemplo de DASH:

     ```
     GET manifest.mpd?ads.deviceType=ipad&auth_token=kjhdsaf7gh
     ```
   + (Opcional) Solicita informes de seguimiento de anuncios por parte del cliente: proporciona parámetros para el ADS dentro de un objeto. `adsParams`

     Ejemplo de HLS:

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

     Ejemplo de DASH:

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

Cuando el reproductor inicia una sesión, AWS Elemental MediaTailor reemplaza las variables de la URL de solicitud de ADS de la plantilla por los datos de la sesión y los parámetros del reproductor. `ads` Pasa los parámetros restantes del reproductor al servidor de origen. 

**Example MediaTailor solicitudes con variables publicitarias**  
Los siguientes ejemplos muestran las llamadas al ADS y al servidor de origen desde AWS Elemental MediaTailor que se corresponden con los ejemplos de llamada de inicialización de sesión del reproductor anterior:   
+ MediaTailor llama al ADS con los datos de la sesión y el tipo de dispositivo del jugador: 

  ```
  https://my.ads.server.com/path?correlation=896976764&deviceType=ipad
  ```
+ MediaTailor llama al servidor de origen con el token de autorización del jugador.
  + Ejemplo de HLS:

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

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

## Uso avanzado
<a name="variables-advanced-usage"></a>

Puede personalizar la solicitud de ADS de muchas formas con datos del reproductor y de la sesión. Solo necesita incluir el nombre de host de ADS. 

En los siguientes ejemplos se muestran algunas de las maneras en que puede personalizar su solicitud: 
+ Concatenar los parámetros del reproductor y los parámetros de la sesión para crear nuevos parámetros. Ejemplo: 

  ```
  https://my.ads.com?key1=[player_params.value1][session.id]
  ```
+ Usar un parámetro de reproductor como parte de un elemento de ruta. Ejemplo:

  ```
  https://my.ads.com/[player_params.path]?key=value
  ```
+ Usar parámetros del reproductor para pasar los elementos de ruta y las propias clave, en lugar de solo valores. Ejemplo: 

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

# MediaTailor enrutamiento de parámetros para ADS y orígenes
<a name="parameter-routing-behavior"></a>

AWS Elemental MediaTailor enruta los parámetros de consulta a diferentes destinos en función de su prefijo y propósito. Comprender el enrutamiento de parámetros es esencial para implementar funciones específicas del origen, como la visualización con cambios en el tiempo. MediaPackage

**Reglas de enrutamiento de parámetros**  
MediaTailor utiliza las siguientes reglas de enrutamiento para los parámetros de consulta:
+ **Parámetros de origen (sin prefijo):** los parámetros sin un prefijo específico se transfieren al servidor de origen para obtener una funcionalidad específica del origen
+ **Parámetros ADS (`ads.`prefijo):** los parámetros con el prefijo de se envían al servidor de decisiones `ads.` publicitarias
+ **Parámetros de manifiesto (`manifest.`prefijo): los parámetros con el prefijo** de `manifest.` se utilizan para el enrutamiento y la autorización de la CDN

**Example Ejemplo de enrutamiento de parámetros**  
La siguiente inicialización de la sesión muestra el enrutamiento de parámetros:  

```
POST /v1/session/123456789/originId/index.m3u8
{
    "adsParams": {
        "param1": "value1",
        "param2": "value2"
    },
    "manifestParams": {
        "auth_token": "abc123"
    }
}
```
En este ejemplo:  
+ `param1`y `param2` se envían al ADS
+ `auth_token`se utiliza para el enrutamiento y la autorización de la CDN
+ Los parámetros sin prefijos se pasarían al servidor de origen

## Comportamiento de los parámetros del servidor origen
<a name="origin-parameter-behavior"></a>

Los parámetros que se transfieren a los servidores de origen permiten funciones específicas del origen, como la visualización con cambios de hora, el filtrado de contenido y la autenticación.

**Casos de uso comunes de los parámetros de origen**  
Los parámetros de origen se utilizan habitualmente para:
+ **Visualización desplazada en el tiempo:** `start` y `end` parámetros para el contenido desplazado en el MediaPackage tiempo
+ **Autenticación de contenido:** el servidor de origen necesita identificadores de autenticación
+ **Filtrado de contenido:** parámetros que controlan qué variantes de contenido se devuelven
+ **Características específicas del origen:** cualquier parámetro que utilice el servidor de origen para el procesamiento del contenido

**importante**  
Los parámetros se procesan en el momento de la inicialización de la sesión y se mantienen durante toda la sesión. Para modificar parámetros como las ventanas de cambio de hora, debe crear una sesión nueva con los valores actualizados.

# MediaTailor e integración de visualización MediaPackage desplazada en el tiempo
<a name="mediapackage-integration-param"></a>

AWS Elemental MediaTailor puede transferir los parámetros de visualización desplazados en el tiempo a los MediaPackage orígenes para permitir la funcionalidad de visualización inicial y puesta al día. Esta integración permite a los espectadores empezar a ver contenido en directo desde momentos más tempranos.

**MediaPackage parámetros de visualización desplazados en el tiempo**  
MediaPackage admite los siguientes parámetros de visualización desplazados en el tiempo que se pueden transferir: MediaTailor
+ `start`: Marca temporal o marca temporal ISO 8601 que define el comienzo del manifiesto desplazado en el tiempo
+ `end`: Marca temporal o marca temporal ISO 8601 que define el final del manifiesto desplazado en el tiempo
+ `time_delay`: retrasa la disponibilidad del contenido en segundos específicos
+ `manifest_window_seconds`: solicite un manifiesto más corto que la ventana configurada

**Example MediaTailor inicialización de la sesión con parámetros cambiados en MediaPackage el tiempo**  
El siguiente ejemplo muestra cómo inicializar una sesión con parámetros de visualización desplazados en el tiempo:  

```
GET /v1/master/123456789/originId/index.m3u8?start=2024-08-26T10:00:00Z&end=2024-08-26T11:00:00Z
```
O usar la inicialización de sesión explícita:  

```
POST /v1/session/123456789/originId/index.m3u8
{
    "adsParams": {
        "param1": "value1"
    }
}
```
Con parámetros de consulta adicionales:  

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

**Comportamiento de los parámetros durante las sesiones**  
Los parámetros de visualización desplazados en el tiempo tienen características de comportamiento específicas:
+ **Inicialización de la sesión:** los parámetros se procesan cuando se crea la sesión
+ **Persistencia de los parámetros:** los parámetros permanecen asociados a la sesión durante la reproducción
+ **Inmutable tras la inicialización:** los parámetros no se pueden cambiar durante una sesión activa
+ **Se requiere una nueva sesión:** para modificar las ventanas de cambio de hora, cree una nueva sesión con los valores de los parámetros actualizados

**MediaPackage requisitos de la ventana de inicio**  
Para que funcione con la visualización con cambios de hora MediaPackage, asegúrese de lo siguiente:

1. Configure una ventana de inicio y recuperación en su MediaPackage terminal (hasta 24 horas)

1. Asegúrese de que su CDN reenvíe los parámetros de consulta necesarios a MediaPackage

1. Utilice ventanas de reproducción uniformes en todas las sesiones del reproductor para mejorar el almacenamiento en caché de la CDN

1. Compruebe que las horas de inicio y finalización se encuentren dentro de la ventana de puesta en marcha configurada

**importante**  
Cuando utilice la visualización con cambio de hora, utilice ventanas de reproducción uniformes en todas las sesiones de reproducción en lugar de generar horas de inicio o finalización únicas para cada espectador. Esto mejora el almacenamiento en caché en la CDN y evita posibles limitaciones.

*Para obtener información completa sobre la configuración y los parámetros de la visualización MediaPackage desplazada en el tiempo, consulte Visualización [desplazada en el tiempo con en la Guía del usuario](https://docs.aws.amazon.com/mediapackage/latest/ug/time-shifted.html). AWS Elemental MediaPackageAWS Elemental MediaPackage *

# MediaTailor parametrizar el comportamiento y la persistencia de la sesión
<a name="parameter-session-behavior"></a>

AWS Elemental MediaTailor procesa los parámetros al inicializar la sesión y los mantiene durante todo el ciclo de vida de la sesión. Comprender el comportamiento de las sesiones es crucial para implementar escenarios de parámetros dinámicos.

**Métodos de inicialización de sesiones**  
MediaTailor admite varios métodos para la inicialización de sesiones con parámetros:

1. **Inicialización de sesión implícita:** parámetros incluidos en la solicitud de manifiesto inicial

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

1. **Inicialización explícita de la sesión (POST):** parámetros proporcionados en el cuerpo de la solicitud

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

1. **Inicialización de sesión explícita (GET):** parámetros proporcionados como parámetros de consulta

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

**Persistencia e inmutabilidad de los parámetros**  
MediaTailor el comportamiento de los parámetros sigue estas reglas:
+ **Especificación única:** los parámetros solo se pueden especificar una vez, al inicializar la sesión
+ **Persistencia en toda la sesión:** los parámetros se mantienen durante toda la sesión
+ **Inmutable tras la inicialización:** los parámetros no se pueden modificar una vez creada la sesión
+ **Resolución de alias de configuración:** los alias se resuelven en valores reales antes de reenviarlos a los destinos

**Escenarios de modificación de parámetros**  
Para modificar los parámetros durante la reproducción:
+ **Crear una nueva sesión:** inicialice una nueva sesión con los valores de los parámetros actualizados
+ **Transición del jugador:** realiza una transición fluida del jugador a la nueva sesión
+ **Herencia de parámetros:** mantenga los parámetros sin cambios para mantener la coherencia

**Example Modificación de los parámetros de cambio horario**  
Para cambiar de un período de 1 hora a uno de 2 horas:  

1. Sesión actual: `start=2024-08-26T10:00:00Z&end=2024-08-26T11:00:00Z`

1. Crear nueva sesión: `start=2024-08-26T10:00:00Z&end=2024-08-26T12:00:00Z`

1. Cambia el reproductor a la nueva URL de sesión

**importante**  
Las solicitudes múltiples de listas de reproducción multivariantes para una sola sesión no actualizan los parámetros después de la primera solicitud. Los parámetros permanecen inmutables durante la sesión.

# MediaTailor referencia y limitaciones de los parámetros
<a name="parameter-comprehensive-reference"></a>

Antes de configurar las variables de anuncios dinámicos, comprenda los requisitos y limitaciones de formato de los parámetros que se aplican a todas MediaTailor las configuraciones.

AWS Elemental MediaTailor proporciona información completa sobre las restricciones de caracteres de los parámetros, las limitaciones de longitud y los formatos admitidos tanto para los parámetros de consulta del manifiesto como para los parámetros de ADS. 

## Restricciones de caracteres del parámetro de consulta del manifiesto
<a name="manifest-parameter-character-restrictions"></a>

Los parámetros de consulta del manifiesto admiten caracteres específicos y tienen limitaciones de longitud definidas. 

**Caracteres admitidos (sin codificación de URL)**  
Puedes usar los siguientes caracteres directamente en los parámetros de consulta del manifiesto: 
+ Caracteres alfanuméricos (A-Z, a-z, 0-9)
+ Períodos (.)
+ Guiones (-)
+ Guiones bajos (\$1)
+ Barras invertidas (\$1)

**Caracteres compatibles con codificación URL**  
Cuando se codifica en URL, se admiten los siguientes caracteres especiales: 
+ punto (.) = %2E
+ guión (-) = %2D
+ guión bajo (\$1) = %5F
+ porcentaje (%) = %25
+ tilde (\$1) = %7E
+ barra inclinada (/) = %2F
+ asterisco (\$1) = %2A
+ es igual a (=) = %3D
+ pregunta (?) = %3F

**Soporte de codificación de URL**  
MediaTailor admite el signo de porcentaje (%) cuando se utiliza en la codificación de direcciones URL (por ejemplo, hello%20world = hello world). Puede utilizar cualquier carácter codificado en una URL, siempre que sean codificaciones de URL válidas de acuerdo con la especificación HTTP. 

**Caracteres no admitidos**  
No puedes usar los siguientes caracteres en los parámetros de consulta del manifiesto sin codificar la URL:`:`,,, `?` `&` `=``%`, `/` (barra inclinada). 

**importante**  
MediaTailor no admite caracteres dobles como%%% o ==. No se pueden utilizar valores de parámetros de consulta completos URLs como manifiesto debido a las restricciones de caracteres. 

**Limitaciones de longitud**  
La longitud total de todos los parámetros de consulta del manifiesto (claves y valores combinados) no debe superar los 2000 caracteres. 

## Limitaciones de longitud de los parámetros ADS
<a name="ads-parameter-limitations"></a>

Las siguientes limitaciones de longitud se aplican a los parámetros utilizados en las solicitudes al ADS: 
+ **Nombre del parámetro ADS**: máximo 10 000 caracteres
+ **Valor del parámetro ADS**: 25 000 caracteres como máximo
+ **URL de ADS**: 25 000 caracteres como máximo

# MediaTailor guía de solución de problemas de parámetros
<a name="parameter-troubleshooting"></a>

AWS Elemental MediaTailor proporciona orientación para solucionar problemas comunes relacionados con los parámetros MediaTailor, como las restricciones de caracteres, los problemas de codificación de URL y los errores de alias de configuración. 

## Errores de restricción de caracteres
<a name="parameter-character-restriction-errors"></a>

Los valores de los parámetros que contienen caracteres no admitidos pueden provocar errores o un comportamiento inesperado. 

**Síntomas frecuentes**  
Los siguientes síntomas pueden indicar problemas de restricción de caracteres: 
+ Los parámetros no aparecen en el manifiesto URLs
+ Errores de HTTP 400 durante la inicialización de la sesión
+ Valores de parámetros truncados o dañados
+ Las solicitudes de ADS fallan debido a un formato incorrecto URLs

**Pasos de resolución**  
Para resolver errores de restricción de caracteres: 

1. Revise los valores de los parámetros de los caracteres no admitidos: `:``?`,`&`,,`=`, `%` `/`

1. Aplique la codificación URL adecuada a los caracteres especiales (consulte) [MediaTailor referencia y limitaciones de los parámetros](parameter-comprehensive-reference.md)

1. Evite los caracteres dobles como o `%%%` `==`

1. Considere la posibilidad de utilizar formatos de parámetros alternativos si URLs no se puede utilizar el formato completo

**Example Ejemplo de codificación de URL**  
En lugar de usar:   

```
manifest.redirect_url=https://example.com/path?param=value
```
Utilice un formato codificado en URL:   

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

## Errores de limitación de longitud
<a name="parameter-length-limitation-errors"></a>

Los parámetros que superan los límites de longitud pueden truncarse o provocar errores. 

**Límites de longitud**  
Se aplican los siguientes límites de longitud (consulte [MediaTailor referencia y limitaciones de los parámetros](parameter-comprehensive-reference.md) para obtener detalles completos):
+ Parámetros de consulta del manifiesto (total): 2000 caracteres
+ Nombres de parámetros de ADS: 10 000 caracteres
+ Valores de los parámetros ADS: 25 000 caracteres
+ ADS URLs: 25 000 caracteres

**Estrategias de resolución**  
Para gestionar las limitaciones de longitud: 

1. Utilice nombres y valores de parámetros más cortos siempre que sea posible

1. Divida los valores de los parámetros grandes en varios parámetros más pequeños

1. Utilice los alias de configuración para asignar los alias cortos a valores más largos (consulte) [MediaTailor descripción general de los alias de configuración](configuration-aliases-overview.md)

1. Considere la posibilidad de utilizar almacenamiento externo para datos de gran tamaño con referencias de parámetros

## Errores de alias de configuración
<a name="parameter-configuration-alias-errors"></a>

Los problemas con los alias de configuración pueden provocar errores HTTP 400 o valores de parámetros inesperados. 

**Errores comunes de alias de configuración**  
Los siguientes errores suelen producirse con los alias de configuración: 
+ Error HTTP 400: falta un valor de alias o no es válido
+ Las variables de dominio no se resuelven correctamente
+ Los parámetros del reproductor no se sustituyen por valores de alias

**Lista de verificación de resolución**  
Para resolver los errores de alias de configuración: 

1. Compruebe que todas las variables de dominio estén definidas como `ConfigurationAliases`

1. Asegúrese de que las variables de los parámetros del reproductor usen el `player_params.` prefijo

1. Confirme que la lista de valores con alias sea exhaustiva para las variables de dominio en estado crítico URLs (`VideoContentSourceUrl`,,`AdSegmentUrlPrefix`) `ContentSegmentUrlPrefix`

1. Compruebe que las solicitudes de inicialización de sesión especifican valores de alias válidos

1. Valide la estructura JSON del parámetro ConfigurationAliases 

Para obtener una guía detallada de solución de problemas, consulte[MediaTailor guía de solución de problemas de alias de configuración](configuration-aliases-troubleshooting.md).

**Example Validación del alias de configuración**  
Asegúrese de que la configuración incluya todos los alias necesarios:   

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

## Problemas con el flujo de procesamiento de parámetros
<a name="parameter-processing-flow-issues"></a>

Comprender el flujo de procesamiento de parámetros ayuda a solucionar problemas relacionados con el reenvío y la transformación de los parámetros. 

**Orden de procesamiento de los parámetros**  
MediaTailor procesa los parámetros en el siguiente orden: 

1. Validación de los parámetros de inicialización de la sesión

1. Resolución de alias de configuración (si corresponde)

1. Filtrado de parámetros (ADS frente a origen frente a manifiesto)

1. Codificación y formato de URL

1. Aplicación de parámetros a URLs

**Depuración del flujo de parámetros**  
Para depurar problemas de procesamiento de parámetros: 

1. Compruebe que los parámetros estén correctamente especificados en la inicialización de la sesión

1. Compruebe que los alias de configuración se resuelven según los valores esperados

1. Confirme que los parámetros aparecen correctamente URLs (manifiesto, ADS, origen)

1. Valide que la codificación de la URL se haya aplicado correctamente

**Example Ejemplo de flujo de parámetros**  
Inicialización de sesión:   

```
POST master.m3u8
{
    "playerParams": {"origin_domain": "pdx"},
    "manifestParams": {"test": "123"}
}
```
Tras la resolución y el procesamiento del alias:   
+ Solicitud de origen: `https://abc.mediapackage.us-west-2.amazonaws.com/out/v1/abcd`
+ URL del manifiesto: `/v1/master/.../index.m3u8?aws.sessionId=session&test=123`

## Consideraciones y prácticas recomendadas de seguridad
<a name="parameter-security-considerations-troubleshooting"></a>

MediaTailor implementa medidas de seguridad para el manejo de parámetros a fin de evitar problemas de seguridad comunes. 

**Medidas de seguridad**  
MediaTailor implementa las siguientes medidas de seguridad: 

1. Limitaciones de tamaño de entrada para evitar que la base de datos se sobrecargue

1. Codificación y desinfección adecuadas de las entradas de los usuarios

1. Codificación URL de la entrada para evitar que la respuesta se dañe

**Prácticas recomendadas**  
Siga estas prácticas recomendadas para una gestión segura de los parámetros: 
+ Valide los valores de los parámetros en el lado del cliente antes de enviarlos
+ Utilice alias de configuración para limitar los posibles valores de los parámetros
+ Evite incluir información confidencial en los parámetros
+ Supervise el uso de los parámetros para detectar patrones inusuales
+ Mantenga los valores de los parámetros dentro de los límites de longitud recomendados

# MediaTailor guía de solución de problemas de alias de configuración
<a name="configuration-aliases-troubleshooting"></a>

AWS Elemental MediaTailor proporciona una guía sistemática de solución de problemas relacionados con los alias de configuración y los escenarios de error más comunes. 

## Errores de validación del alias de configuración
<a name="configuration-alias-validation-errors"></a>

Cuando faltan alias de configuración o no son válidos, MediaTailor devuelve respuestas de error específicas para ayudar a identificar el problema. 

**Escenarios de error comunes**  
En la siguiente tabla se describen los errores de alias de configuración más comunes y sus pasos para resolverlos: 


| Error | Causa | Resolución | 
| --- | --- | --- | 
| HTTP 400: alias de parámetros de reproductor no válido | No se encontró el valor del parámetro del reproductor en ConfigurationAliases | Compruebe que el valor del parámetro del reproductor existe como clave en el ConfigurationAliases mapeo correspondiente | 
| HTTP 400: falta el alias de configuración obligatorio | Variable de dominio utilizada sin la ConfigurationAliases entrada correspondiente | Añada el parámetro de jugador que falta ConfigurationAliases a todas las asignaciones de alias necesarias | 
| HTTP 400: Falló la validación de la configuración | ConfigurationAliases la estructura está mal formada o incompleta | Valide la estructura JSON y asegúrese de que todas las variables de dominio tengan los alias correspondientes | 
| Sustitución de una cadena vacía en URLs | No se encontró el alias de una variable que no es de dominio | Añada el mapeo de alias que falte o proporcione un valor predeterminado en ConfigurationAliases | 

**Lista de comprobación de validación**  
Utilice la siguiente lista de comprobación para validar la configuración de los alias de configuración: 

1. **Cobertura de variables de dominio:** asegúrese de que todas las variables utilizadas en las partes del dominio URLs tengan las entradas correspondientes ConfigurationAliases 

1. **Integridad de los alias:** compruebe que todos los valores posibles de los parámetros del jugador estén incluidos como claves en las asignaciones de alias

1. **Estructura de JSON:** valida que el ConfigurationAliases JSON esté correctamente formateado y anidado

1. **Denominación de los parámetros:** confirme que todos los parámetros del reproductor utilizan el prefijo `player_params.`

1. **Coherencia de valores:** asegúrate de que los valores de alias sean válidos para el uso al que están destinados (nombres de perfilURLs, etc.)

## Depuración de la configuración y resolución de alias
<a name="configuration-alias-debugging"></a>

Siga este enfoque sistemático para depurar los problemas de resolución de los alias de configuración. 

**Step-by-step metodología de depuración**  
Siga los siguientes pasos para identificar y resolver los problemas de alias de configuración: 

**Procedimiento de depuración de los alias de configuración**

1. **Verifique la estructura de configuración:** confirme que la configuración de reproducción incluye el formato correcto ConfigurationAliases

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

1. **Compruebe el formato de los parámetros del reproductor:** asegúrese de que la inicialización de la sesión incluya los parámetros del reproductor correctamente formateados

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

1. **Validar el mapeo de alias:** confirme que el valor del parámetro del reproductor («alias1") existe como clave en el mapeo ConfigurationAliases 

1. **Pruebe con una configuración sencilla:** comience con una configuración mínima para aislar el problema

1. **Supervise las respuestas a los errores:** compruebe las respuestas MediaTailor de error para ver si hay mensajes de validación específicos

1. **Verificar resuelto URLs:** confirme que las resoluciones finales URLs son válidas y accesibles

## Prácticas recomendadas para los alias de configuración
<a name="configuration-alias-best-practices"></a>

Siga estas prácticas recomendadas para garantizar una implementación fiable de los alias de configuración. 

**Consideraciones de seguridad**  
Implemente las siguientes medidas de seguridad cuando utilice los alias de configuración: 
+ **Validación de entrada:** valida todos los valores de los parámetros del reproductor antes de usarlos en la resolución de alias
+ **Saneamiento de los valores de alias:** asegúrese de que los valores de alias contengan solo los caracteres y formatos esperados
+ **Restricciones de dominio:** limite los alias de dominio a dominios controlados y de confianza
+ **Control de acceso:** restrinja la modificación de la configuración únicamente al personal autorizado

**Optimización del rendimiento**  
Optimice el rendimiento de los alias de configuración con estas recomendaciones: 
+ **Minimice el recuento de alias:** utilice solo los alias necesarios para reducir la sobrecarga de procesamiento
+ **Nomenclatura eficiente:** utilice convenciones de nomenclatura claras y coherentes para los alias y los parámetros
+ **Valores predeterminados:** proporcione alias predeterminados razonables para los casos de uso más comunes
+ Almacenamiento en **caché de la configuración:** aproveche el almacenamiento en caché MediaTailor de la configuración para mejorar el rendimiento

**Mantenimiento y supervisión**  
Mantenga operaciones de alias de configuración confiables con estas prácticas: 
+ **Validación periódica:** valide periódicamente que todas las asignaciones de alias estén actualizadas y funcionen
+ **Supervisión de errores:** supervise los errores de HTTP 400 relacionados con alias faltantes o no válidos
+ **Documentación:** mantenga una documentación clara de todas las asignaciones de alias y sus propósitos
+ **Procedimientos de prueba:** Implemente pruebas exhaustivas para todas las combinaciones de alias