※ 本記事は、Yash Kumarによる”Announcing the availability of OCI Queue as a source in OCI Connector Hub“を翻訳したものです。

2024年3月15日


Oracle Cloud Infrastructure (OCI) QueueをソースとしたOCI Connector Hubとの統合機能の提供開始を発表できることを嬉しく思います。この統合により、スケーラブルで信頼性の高い方法でOCI Queueから様々なOCI Connector Hubターゲットにデータを移動できます。この機能を使用すると、両方のサービスのメリットを適用して、イベントドリブン・アプリケーションとマイクロサービスを簡単に構築できます。

OCI Connector Hubは、OCIサービス間のデータ移動を記述、実行および監視するためのクラウド・メッセージ・バス・プラットフォームです。OCI Queueは、サーバーレスな方法にて非同期に分離された通信を有効にするサービスです。OCI Queueは、損失や重複のない独立した処理を必要とする大量のトランザクション・データを処理します。このサービスは、STOMPおよびOpenAPI定義RESTエンドポイントのオープン標準を使用して、任意のクライアントと通信します。

OCI Connector Hubを使用したOCI QueueおよびOCI Functionsの統合

2つのサービスを統合するには、OCI Queueの作成方法OCI Functionsの作成方法を知っておく必要があります。

お客様の主なユース・ケースの1つは、キューを使用してfunctionをトリガーできることです。キューをトリガーとするfunctionは、キュー内のメッセージを処理するコードを実行します。OCI Queueをソースとし、functionをターゲットとするConnector Hubコネクタを作成することで、ソース・キューからfunctionにデータを移動し、1日当たり数百万件のメッセージを処理できます。

バッチ処理

コネクタはキューからデータをフェッチし、データをバッチでターゲットのfunctionに送信します。バッチ処理は、メッセージ数またはメッセージ・サイズと時間(秒)のいずれかに基づいて処理されます。このfunctionは、メッセージ数、メッセージ・サイズ、時間などのバッチしきい値のいずれかがヒットした場合にのみ呼び出されます。この機能により、呼出し数を減らし、コストを最適化できます。

function呼び出しとメッセージ処理

コネクタは、シリアル同期方式でfunction を呼び出します。同じソース・キューで複数のコネクタを作成して、パラレルfunctionの呼出しを有効にできます。メッセージは、コネクタがfunctionにメッセージを正常に配信した場合にのみキューから削除されます。functionが失敗すると、バッチ内のすべてのメッセージが、コネクタによってすぐに再び消費できるようになります。メッセージがデッドレター・キュー(DLQ)に移動された場合、コネクタで消費できないことがあります。これらのメッセージの処理を再試行するには、DLQソースおよびfunctionターゲットを使用して別のコネクタを設定できます。部分的な機能障害が発生した場合、コネクタはバッチ全体を失敗としてマークし、すべてのメッセージがキューに再度表示されます。

ポーリング

コネクタは、ロング・ポーリングを使用してキューからメッセージを読み取ります。ロング・ポーリングは、キューが空の場合にループの再試行が厳しくなり、サービス間の接続の効率が最大になるのを防ぐのに役立ちます。

メッセージのフィルタリング

オプションのチャネルIDを指定することで、キューに存在するメッセージをフィルタできます。コネクタは、チャネルIDに一致するメッセージのみを使用します。ユーザーがセレクタを指定しない場合、キューからのすべてのメッセージが消費されます。

キューをソースとして使用する方法

「Connector Hub」ページに移動し、「Create Connector」を選択します。

Connectors in an example compartment in the Oracle Cloud Console.

ソースとして「Queue」を選択し、ターゲットとして「Functions」を選択します。

The Create connector screen with the source and target configuration section outlined in orange.

「Configure Source」で、コンパートメント、キュー名を選択し、オプションのメッセージ・フィルタリングの詳細を入力します。

configure source

「Configure Target」で、コンパートメント、Function applicationおよびFunction名を選択します。「Show Additional Options」で、バッチ・サイズおよびバッチ時間を指定できます。バッチ・サイズは、次のオプションでバッチ・サイズ(KB)またはメッセージ数を選択できるメニューです:

  • バッチ・サイズ(メッセージ): バッチ・サイズを1から10,000までのメッセージ数で構成できます。デフォルト値は100です。

  • バッチ・サイズ(KB): バッチ・サイズは、1から6,144までのKB単位で構成できます。デフォルト値は6,144です。

  • バッチ時間制限: バッチ時間制限を構成して、functionを60秒から600秒の間に呼び出す前にリクエストを収集する時間(秒)を指定できます。デフォルト値は60秒です。

The create connector screen with the options for batch type, size limit, and time limit outlined in orange.

デフォルト・ポリシーは、1つの選択で作成できます。コネクタ・ログを有効にして、コネクタを簡単に管理し、問題をトラブルシューティングすることもできます。

The Create connector screen with the options to create default policies to allow the connector to read and write from the queue to the function and the Enable Logs toggle outlined in orange.

Create」ボタンを選択してコネクタを作成します。これで完了です。「Source Connection」および「Target Connection」セクションの下にあるリンクの後ろにあるソース・キューまたはターゲット機能に移動して、それらを管理できます。

The Connector details page, showing the source and target connections.

価格

Connector Hubの利用は無料です。ただし、ソース、タスクおよびターゲット・サービスの使用料金が適用されます。キュー・ソースの場合、コネクタ・ハブがキューをポーリングするため、追加のキュー料金が表示される場合があります。詳細は、価格ページを参照してください。

この機能をお試しください!

Connector Hubには、Oracle Cloudコンソールの「Analytics and AI」セクションの「Messaging」サブセクションからアクセスできます。また、ソフトウェア開発キット(SDK)、CLI、REST APIおよびTerraformを介しても使用できます。Connector Hubについてさらに学習するには、Connector Hubのドキュメントを参照してください。

Connector Hubを自分で試すには、Oracle Cloud Free Tierにサインアップするか、アカウントにサインインします。