メッセージ管理

キュー内のメッセージを公開、消費、管理する方法について確認します。

キュー・フローの例

次の図は、プロデューサがキューにメッセージを送信し、2つのコンシューマがメッセージの処理を試みる例を示しています。

メッセージの生成、更新、消費および削除を表す図。

  1. プロデューサは、デフォルトのメッセージ保持期間でメッセージをキューに送信します。

    プロデューサは、キュー・サービスがメッセージを受信して格納したことの確認を受け取ります。

  2. コンシューマAがメッセージの受信を試みます。

    コンシューマAは、表示タイムアウトA内で処理するメッセージを受信します。

  3. コンシューマBがメッセージの受信を試みます。

    コンシューマBは、使用可能な唯一のメッセージがコンシューマAによってすでに消費されているため、何も受信しません。

  4. コンシューマAは、表示タイムアウトA内にメッセージを処理できないため、メッセージを更新して表示タイムアウトを延長します。
  5. コンシューマBは、もう一度メッセージの受信を試みます。

    コンシューマBは、使用可能な唯一のメッセージがコンシューマAによって消費および拡張されたため、何も受信しません。

  6. 延長された表示タイムアウトが経過します。
  7. コンシューマBは、3回目のメッセージ受信を試みます。

    コンシューマBは、表示タイムアウトB内で処理されるメッセージを受信します。

  8. コンシューマAはメッセージの受信を試行しますが、コンシューマBがメッセージを消費したため、何も受信しません。

    コンシューマAは、メッセージの表示タイムアウトの延長やメッセージの削除をできなくなりました。

  9. コンシューマBはメッセージを正常に処理し、キューからメッセージを削除しようとします。

    コンシューマBは、メッセージが完全に削除されたことを示す確認を受信するため、他のコンシューマに配信できません。

ノート

メッセージがコンシューマに配信されるたびに、メッセージの「配信数」フィールドが1つ増やされます。メッセージの配信数が構成された最大数に達すると、デッド・レター・キューに送信されます。

メッセージ・エンドポイント

キューへの生成またはキューからの消費を行うには、そのキューで使用されるメッセージ・エンドポイントを知る必要があります。キューのメッセージ・エンドポイントは次のようになります。

https://cell-1.queue.messaging.<region>.oci.oraclecloud.com

キューのメッセージ・エンドポイントを検索するには:

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「キュー」をクリックします。
  2. 画面の左側で、「キュー」をクリックします。

    既存のキューのリストが表示されます。

  3. キューの名前をクリックして、その「詳細」ページを表示します。
  4. 「キュー情報」セクションには、「メッセージ・エンドポイント」が含まれています。

メッセージ・エンドポイントは、GetQueueリクエストでAPIを使用して検索できます。

必要なIAMポリシー

キュー管理に必要な権限の詳細は、キュー・ポリシーおよびポリシーの例を参照してください。

次のステップ