

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.

# Creación y eliminación mediante un comando por lotes
<a name="about-batch-update-schedule"></a>

Para crear y eliminar acciones en la programación de un canal, utilice el comando de programación de actualización por lotes. Este comando le permite realizar varias acciones en una solicitud. No hay un comando para crear acciones y otro para eliminar acciones.

**importante**  
Cuando trabajes con un canal iniciado y en ejecución, usa el **batch-update-schedule**comando para añadir o eliminar acciones. Utilice el comando **delete-schedule** solo en los canales inactivos. El comando **delete-schedule** eliminará todas las acciones programadas y podría provocar interrupciones en el servicio si se usa en un canal en vivo. 

Utilizará el comando tal y como se indica a continuación:
+ Envíe una solicitud *única* como, por ejemplo, una solicitud para hacer lo siguiente:
  + Crear una acción.
  + Eliminar una acción.
+ Envíe una solicitud *por lotes* como, por ejemplo, una solicitud para hacer lo siguiente:
  + Crear varias acciones.
  + Eliminar varias acciones.
  + Crear una o varias acciones y eliminar una o varias acciones.

**importante**  
En un comando que combina acciones de creación y de eliminación, las acciones de eliminación *siempre* se realizan antes de las acciones de creación. Esto significa que MediaLive elimina las acciones de eliminación de la programación antes de añadir las acciones de creación a la programación.

**Topics**
+ [Cómo funciona una solicitud por lotes](how-batch-schedule-requests-work.md)
+ [Comando por lotes en diferentes interfaces](batchupdatecommand-interfaces.md)
+ [Carga útil JSON en diferentes interfaces](batchupdatecommand-payloads.md)

# Cómo funciona una solicitud por lotes
<a name="how-batch-schedule-requests-work"></a>

La intención de los lotes es que todas las acciones se realicen correctamente o devuelvan un error de forma conjunta. Por lo tanto, AWS Elemental MediaLive valida las acciones por lotes de forma conjunta. MediaLive realiza la siguiente validación:
+ Garantiza que cada acción que se va a crear o eliminar tenga una hora de inicio explícita o implícita situada al menos 15 segundos en el futuro. 
+ Si la acción se refiere a una acción existente en la programación, se asegura de que la referencia a la acción existente sea correcta. Por ejemplo, un cambio de entrada de seguimiento incluye una referencia a la acción que sigue. Esa acción debe existir.

Si la validación produce un error en cualquier acción, entonces produce un error para todas las acciones del lote.

Si no desea que las acciones se aprueben o suspendan en conjunto, no envíe un lote. En su lugar, cree cada acción en su propio comando de programación de actualización por lotes.

Si la validación se realiza correctamente, MediaLive procesa todas las solicitudes de eliminación antes que las solicitudes de creación, independientemente de la hora de inicio de las acciones.

**Ejemplo 1**  
Un uso importante de los lotes consiste en realizar varias acciones que deben realizarse conjuntamente de forma correcta o incorrecta. Por ejemplo, suponga que desea eliminar el logotipo corporativo e inmediatamente insertar un splice\$1insert (para ir a una disponibilidad de espacio publicitario). Para ello, se necesita una acción para quitar el logotipo y otra acción para insertar el splice\$1insert. Sin embargo, no querrás MediaLive insertar la acción de eliminación si la acción splice\$1insert falla, o viceversa. Es mejor si ambas acciones devuelven un error porque eso le permite corregir la acción que se ha formado mal y, a continuación, volver a enviar ambas acciones.

Por tanto, envíe las dos acciones conjuntamente, en un comando de programación de actualización por lotes. 

**Ejemplo 2**  
Otro uso importante de los lotes consiste en corregir un error en una acción de la programación. Por ejemplo, es posible que desee corregir una superposición de imagen que no se ha iniciado todavía y que se creó con la hora de inicio incorrecta. Para ello, envíe un comando de programación de actualización por lotes con JSON que contenga lo siguiente:
+ Una carga para eliminar la acción original de activar la superposición de imagen. Esta acción tiene una hora de inicio incorrecta.
+ Una carga para añadir una nueva acción de activar la misma superposición de imagen. Esta acción tiene la hora de inicio correcta.

# Comando por lotes en diferentes interfaces
<a name="batchupdatecommand-interfaces"></a>

El comando de programación de actualización por lotes se representa de forma diferente en diferentes interfaces: 
+ En el AWS CLI, el comando es. `batch-update-schedule`
+ En la API, el comando está representado por un `HTTP PUT` en `channels/channelId/schedule`.
+ En el AWS SDKs, el comando se representa mediante construcciones que son adecuadas para ese lenguaje del SDK.

# Carga útil JSON en diferentes interfaces
<a name="batchupdatecommand-payloads"></a>

La carga JSON del comando es diferente para las diferentes interfaces:
+ En el AWS CLI, el contenido de la carga útil depende de cómo se utilice el comando:
  + Puede escribir un comando con dos parámetros: `channel-id` y `--cli-input-json`. En este caso, crea un archivo que repite el ID de canal e incluye la carga JSON. 
  + Puede escribir un comando con tres parámetros: uno para el ID de canal, otro para la carga JSON para las acciones de creación (si procede) y otro para la carga JSON para las acciones de eliminación (si procede). Puede pasar las cargas en el comando. Si ambos parámetros están presentes, cada parámetro toma una carga independiente. Sin embargo, las dos cargas se validan y se realizan como un lote. 

  La carga útil AWS CLI es siempre pascal (mayúscula en camello). 
+ En la API, hay una carga con dos secciones, una sección `CREATES` y una sección `DELETES`. Una solicitud puede contener una o ambas secciones. 

  La carga de la API siempre es en camel case para los nombres de variables y en Pascal case para las clases.
+ En el AWS SDKs, la carga útil de JSON está representada por construcciones que son adecuadas para ese lenguaje de SDK. 

Para familiarizarte con las acciones individuales, te recomendamos que utilices la MediaLive consola para crear una acción. Tras crear la acción, utiliza el [DescribeSchedule](viewing-schedule-using-cli.md)comando de la interfaz adecuada (por ejemplo, la AWS CLI o un SDK) para obtener la carga útil JSON sin procesar de todo el programa. Puede copiar acciones individuales y guardarlas como modelos para utilizarlas cuando trabaje con programación.