メッセージ管理
キュー内のメッセージを公開、消費、管理する方法について確認します。
キュー・フローの例
次の図は、プロデューサがキューにメッセージを送信し、2つのコンシューマがメッセージの処理を試みる例を示しています。
- プロデューサは、デフォルトのメッセージ保持期間でメッセージをキューに送信します。
プロデューサは、キュー・サービスがメッセージを受信して格納したことの確認を受け取ります。
- コンシューマAがメッセージの受信を試みます。
コンシューマAは、表示タイムアウトA内で処理するメッセージを受信します。
- コンシューマBがメッセージの受信を試みます。
コンシューマBは、使用可能な唯一のメッセージがコンシューマAによってすでに消費されているため、何も受信しません。
- コンシューマAは、表示タイムアウトA内にメッセージを処理できないため、メッセージを更新して表示タイムアウトを延長します。
- コンシューマBは、もう一度メッセージの受信を試みます。
コンシューマBは、使用可能な唯一のメッセージがコンシューマAによって消費および拡張されたため、何も受信しません。
- 延長された表示タイムアウトが経過します。
- コンシューマBは、3回目のメッセージ受信を試みます。
コンシューマBは、表示タイムアウトB内で処理されるメッセージを受信します。
- コンシューマAはメッセージの受信を試行しますが、コンシューマBがメッセージを消費したため、何も受信しません。
コンシューマAは、メッセージの表示タイムアウトの延長やメッセージの削除をできなくなりました。
- コンシューマBはメッセージを正常に処理し、キューからメッセージを削除しようとします。
コンシューマBは、メッセージが完全に削除されたことを示す確認を受信するため、他のコンシューマに配信できません。
メッセージ・エンドポイント
キューへの生成またはキューからの消費を行うには、そのキューで使用されるメッセージ・エンドポイントを知る必要があります。キューのメッセージ・エンドポイントは次のようになります。
https://cell-1.queue.messaging.<region>.oci.oraclecloud.com
キューのメッセージ・エンドポイントを検索するには:
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「キュー」をクリックします。
- 画面の左側で、「キュー」をクリックします。
既存のキューのリストが表示されます。
- キューの名前をクリックして、その「詳細」ページを表示します。
- 「キュー情報」セクションには、「メッセージ・エンドポイント」が含まれています。
メッセージ・エンドポイントは、GetQueue
リクエストでAPIを使用して検索できます。