

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Batch コマンドを使用した作成と削除
<a name="about-batch-update-schedule"></a>

チャンネルのスケジュールでアクションを作成および削除するには、バッチ更新スケジュールコマンドを使用します。このコマンドを使用すると、1 つのリクエストで複数のアクションを実行できます。アクションを作成するコマンドと、アクションを削除するコマンドはありません。

**重要**  
開始および実行中のチャンネルを操作するときは、 **batch-update-schedule** コマンドを使用してアクションを追加または削除します。**delete-schedule** コマンドは、アイドル状態のチャネルでのみ使用します。**delete-schedule** コマンドは、スケジュールされたすべてのアクションを削除し、ライブチャネルで使用するとサービスが中断される可能性があります。

次のようにコマンドを使用できます。
+ 以下を実行するリクエストなど、*1 つの*リクエストを送信します。
  + 1 つのアクションを作成する。
  + 1 つのアクションを削除する。
+ 以下を実行する 1 つのリクエストなどの*バッチ*リクエストを送信します。
  + 複数のアクションを作成する。
  + 複数のアクションを削除する。
  + 1 つ以上のアクションを作成し、1 つ以上のアクションを削除する。

**重要**  
作成アクションと削除アクションを組み合わせたコマンドでは、削除アクションは*常に*作成アクションの前に実行されます。つまり、MediaLive は、スケジュールに作成アクションを追加する前に、スケジュールから削除アクションを削除します。

**Topics**
+ [バッチリクエストの仕組み](how-batch-schedule-requests-work.md)
+ [異なるインターフェイスでのバッチコマンド](batchupdatecommand-interfaces.md)
+ [異なるインターフェイスの JSON ペイロード](batchupdatecommand-payloads.md)

# バッチリクエストの仕組み
<a name="how-batch-schedule-requests-work"></a>

バッチ処理の目的は、すべてのアクションを一緒に成功または失敗することです。そのため、AWS Elemental MediaLive では、バッチアクションをまとめて検証している。MediaLiveでは、以下の検証を行います。
+ 作成または削除される各アクションの明示的または暗黙的 開始時刻が、少なくとも 15 秒後であることを確認します。
+ アクションがスケジュール内の既存のアクションを参照する場合、既存のアクションへの参照が正確であることを確認します。例えば、フォロー入力スイッチには、後続のアクションへの参照が含まれます。そのアクションが存在している必要があります。

いずれかのアクションの検証が失敗した場合、バッチにあるすべてのアクションが失敗になります。

アクションが一緒に成功または削除することを望まない場合、バッチを送信しないでください。代わりに、独自のバッチ更新スケジュールコマンドで各アクションを作成します。

検証が成功すると、MediaLive は、アクションの開始時刻にかかわらず、作成リクエストの前にすべての削除リクエストを処理します。

**例 1**  
バッチの重要な使用方法は、一緒に成功または失敗する必要がある複数のアクションを実行することです。例えば、企業ロゴを削除し、(広告表示に移動するために) すぐに splice\$1insert を挿入するとします。そのためには、ロゴを削除するアクションと、splice\$1insert を挿入する別のアクションを作成する必要があります。しかし、splice\$1insert が失敗するか、その逆の場合に、MediaLive が削除アクションを挿入することは望ましくありません 両方のアクションが失敗する方が望ましいと言えます。この場合、誤った形式のアクションを修正し、両方のアクションを再度送信できます。

したがって、1 つのバッチ更新スケジュールコマンドで 2 つのアクションをまとめて送信します。

**例 2**  
バッチのもう 1 つの重要な使用方法は、スケジュール内のアクションのエラーを修正することです。例えば、まだ開始しておらず、誤った開始時刻で作成されたイメージオーバーレイを修正するとします。これを行うには、以下を含む JSON で 1 つのバッチ更新スケジュールコマンドを送信します。
+ イメージオーバーレイをアクティブ化する元のアクションを削除するペイロード。このアクションの開始時刻が誤っています。
+ 同じイメージオーバーレイをアクティブ化する新しいアクションを追加するペイロード。このアクションの開始時刻は正確です。

# 異なるインターフェイスでのバッチコマンド
<a name="batchupdatecommand-interfaces"></a>

バッチ更新スケジュールコマンドは、インターフェイスごとに異なる方法で表されます。
+ では AWS CLI、コマンドは です`batch-update-schedule`。
+ API では、コマンドは 「`channels/channelId/schedule`」 の 「`HTTP PUT`」 で表されます。
+  AWS SDKs、コマンドはその SDK 言語に適したコンストラクトで表されます。

# 異なるインターフェイスの JSON ペイロード
<a name="batchupdatecommand-payloads"></a>

コマンドの JSON ペイロードは、インターフェイスによって異なります。
+ では AWS CLI、ペイロードの内容は コマンドの使用方法によって異なります。
  + コマンドを入力するには、「`channel-id`」 と 「`--cli-input-json`」 の 2 つのパラメータを使用します。この場合、チャンネル ID を繰り返し、JSON ペイロードを含むファイルを作成します。
  + 3 つのパラメータを使用してコマンドを入力できます。1 つはチャンネル ID 用、もう 1 つは作成アクション用の JSON ペイロード用 (該当する場合)、もう 1 つは削除アクション用の JSON ペイロード用 (該当する場合) です。コマンドでペイロードを渡します。両方のパラメータが存在する場合、各パラメータは個別のペイロードを受け取ります。ただし、2 つのペイロードは検証され、バッチとして実行されます。

  のペイロードは常にパスカルケース (大文字) AWS CLI です。
+ API には、「`CREATES`」 セクションと 「`DELETES`」 セクションの 2 つのセクションを持つ 1 つのペイロードがあります。リクエストには、1 つまたは両方のセクションを含めることができます。

  API のペイロードは常に、変数名はキャメルケース、クラスは Pascal ケースです。
+  AWS SDKs、JSON ペイロードはその SDK 言語に適したコンストラクトで表されます。

個々のアクションの理解をさらに深めるには、MediaLive コンソールを使用してアクションを作成することをお勧めします。アクションを作成したら、適切なインターフェイス ( AWS CLI や SDK など) の [DescribeSchedule](viewing-schedule-using-cli.md) コマンドを使用して、スケジュール全体の raw JSON ペイロードを取得します。その後、個々のアクションをコピーし、モデルとして保存して、プログラムで作業するときに使用できます。