

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar e excluir usando um comando em lote
<a name="about-batch-update-schedule"></a>

Para criar e excluir ações na programação de um canal, use o comando de programação de atualização em lote. Esse comando permite que você execute várias ações em uma solicitação. Não há um comando para criar ações e outro para excluir ações.

**Importante**  
Ao trabalhar com um canal iniciado e em execução, use o **batch-update-schedule**comando para adicionar ou remover ações. Use o comando **delete-schedule** somente em canais ociosos. O comando **delete-schedule** excluirá todas as ações agendadas e poderá causar interrupções no serviço se usado em um canal ativo. 

Você usará o comando da seguinte forma:
+ Envie uma *única* solicitação, como uma solicitação para fazer o seguinte:
  + Criar uma ação.
  + Excluir uma ação.
+ Envie uma solicitação de *lote* como uma solicitação para fazer o seguinte:
  + Criar várias ações.
  + Excluir várias ações.
  + Criar uma ou mais ações e excluir uma ou mais ações.

**Importante**  
Em um comando que combina ações de criação e exclusão, as ações de exclusão são *sempre* executadas antes das ações de criação. Isso significa que MediaLive remove as ações de exclusão do cronograma antes de adicionar as ações de criação ao cronograma.

**Topics**
+ [Como uma solicitação em lote funciona](how-batch-schedule-requests-work.md)
+ [Comando em lote em interfaces diferentes](batchupdatecommand-interfaces.md)
+ [Carga útil JSON em interfaces diferentes](batchupdatecommand-payloads.md)

# Como uma solicitação em lote funciona
<a name="how-batch-schedule-requests-work"></a>

A intenção do processamento em lotes é aprovar ou reprovar todas as ações em conjunto. Portanto, o AWS Elemental MediaLive valida as ações em lote em conjunto. MediaLive executa a seguinte validação:
+ Ele garante que cada ação que é criada ou excluída tenha uma hora de início explícita ou implícita que seja pelo menos 15 segundos no futuro. 
+ Se a ação referir-se a uma ação existente no cronograma, ele garante que a referência para a ação existente esteja correta. Por exemplo, uma alternância de entrada de acompanhamento inclui uma referência à ação que ela segue. Essa ação deve existir.

Se ocorrer uma falha na validação para qualquer ação, ocorrerá uma falha para todas as ações no lote.

Se você não quiser que as ações sejam aprovadas ou reprovadas em conjunto, não envie um lote. Em vez disso, crie cada ação em seu próprio comando de programação de atualização em lote.

Se a validação for bem-sucedida, MediaLive processará todas as solicitações de exclusão antes das solicitações de criação, independentemente do horário de início das ações.

**Exemplo 1**  
Um uso importante do lote é executar várias ações que devem ser aprovadas ou reprovadas em conjunto. Por exemplo, suponha que você deseja remover o logotipo corporativo e imediatamente inserir uma splice\$1insert (para ir para uma disponibilidade de anúncio). Para fazer isso, você deve criar uma ação para remover o logotipo e outra ação para inserir a splice\$1insert. No entanto, você não deseja inserir MediaLive a ação de remoção se a ação splice\$1insert falhar ou vice-versa. É melhor que as duas ações falhem porque isso permite que você corrija a ação mal formada e depois envie as duas ações novamente.

Portanto, você envia as duas ações em conjunto, em um comando de programação de atualização em lote. 

**Exemplo 2**  
Outro uso importante de lote é para corrigir um erro em uma ação na programação. Por exemplo, você pode corrigir uma sobreposição de imagem que ainda não foi iniciada e que foi criada com o horário de início errado. Para fazer isso, você envia um comando de programação de atualização em lote com JSON que contém o seguinte:
+ Uma carga para remover a ação original para ativar a sobreposição da imagem. Essa ação tem a hora de início incorreta.
+ Uma carga para adicionar uma nova ação para ativar a mesma sobreposição de imagem. Essa ação tem a hora de início correta.

# Comando em lote em interfaces diferentes
<a name="batchupdatecommand-interfaces"></a>

O comando de programação de atualização em lote é representado de forma diferente em interfaces diferentes: 
+ No AWS CLI, o comando é`batch-update-schedule`.
+ Na API, o comando é representado por um `HTTP PUT` em `channels/channelId/schedule`.
+ No AWS SDKs, o comando é representado por construções que são adequadas à linguagem do SDK.

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

A carga JSON para o comando é diferente para as diferentes interfaces:
+ No AWS CLI, o conteúdo da carga depende de como você usa o comando:
  + Você pode inserir um comando com dois parâmetros: `channel-id` e `--cli-input-json`. Nesse caso, você cria um arquivo que repete o ID do canal e inclui a carga JSON. 
  + Você pode inserir um comando com três parâmetros: um para o ID do canal, um para a carga JSON para as ações de criação (se aplicável) e um para a carga JSON para as ações de exclusão (se aplicável). Você passa as cargas no comando. Se ambos os parâmetros estiverem presentes, cada parâmetro terá uma carga separada. Mas as duas cargas são validadas e executadas como um lote. 

  A carga útil do AWS CLI é sempre em pascal (maiúscula em camelo). 
+ Na API, há uma carga com duas seções, uma seção `CREATES` e uma seção `DELETES`. Uma solicitação pode conter uma ou ambas as seções. 

  A carga da API é sempre em minúscula para nomes de variáveis e em maiúscula para classes.
+ No AWS SDKs, a carga útil do JSON é representada por construções que são adequadas à linguagem do SDK. 

Para se familiarizar mais com ações individuais, recomendamos que você use o MediaLive console para criar uma ação. Depois de criar a ação, use o [DescribeSchedule](viewing-schedule-using-cli.md)comando na interface apropriada (por exemplo, o AWS CLI ou um SDK) para obter a carga JSON bruta para todo o cronograma. Você pode copiar ações individuais e salvá-las como modelos para usar ao trabalhar programaticamente.