キュー・ソースを使用したコネクタの作成

コネクタ・ハブにコネクタを作成して、キュー・サービスのキューからターゲット・サービスにメッセージを転送します。

キュー・サービスの詳細は、キューを参照してください。

キュー・ソースおよび(オプションの)ファンクション・タスクで定義されたコネクタでは、ファンクション通知オブジェクト・ストレージおよびストリーミングのターゲットがサポートされます。コネクタ・ハブ・ワークフローの例は、コネクタ・ハブの概要を参照してください。

ロング・ポーリング

デフォルトでは、コネクタはロング・ポーリングを使用してキューからメッセージを読み取ります。ロング・ポーリングは、キューが空の場合にタイト・ループの再試行を防止するのに役立ちます。キューからの読取りタイムアウトは30秒です。各移動操作で、コネクタは消耗品メッセージがキューで使用可能になるまで待機します。読取りタイムアウトが経過し、消費可能なメッセージがない場合、コネクタはリクエストを終了し、別のリクエストで再試行します。

フィルタと消費されたメッセージ数

特定のチャネルのキューをフィルタできます。キューをフィルタするAPIおよびCLIパラメータについては、チャネルからのメッセージの消費を参照してください。コネクタのターゲットに転送されたメッセージは「消費済」とみなされます。キュー・サービスの要件を満たすために、コネクタは転送されたメッセージをソース・キューから削除します。詳細は、メッセージの使用を参照してください。

    1. ナビゲーション・メニューを開き、「分析とAI」をクリックします「メッセージング」で、「コネクタ・ハブ」をクリックします。
    2. 「コネクタ」ページで、コンパートメントを選択します。
    3. 「コネクタの作成」をクリックします。
    4. 「コネクタの作成」ページで、新しいコネクタのわかりやすい名前とオプションの説明を入力します。機密情報を入力しないでください。
    5. 新しいコネクタを格納するコンパートメントを選択します。
    6. 「コネクタの構成」「ソース」で、「キュー」を選択します。
    7. 「ターゲット」で、メッセージの転送先のサービスを選択します:
      • ファンクション: キューからファンクションにメッセージを送信します。
      • 通知: キューからトピックにメッセージを送信します。通知は、関数タスクが定義されていない場合にのみサポートされます。
      • オブジェクト・ストレージ: キューからバケットにメッセージを送信します。
      • ストリーミング: キューからストリームにメッセージを送信します。
    8. (オプション)新しいコネクタのサービス・ログを有効にするには、「ログ」スイッチをクリックし、次の値を指定します:
      • ログ・カテゴリ: 値「コネクタ・トラッキング」が自動的に選択されます。
      • コンパートメント: コネクタのサービス・ログを格納するコンパートメントを選択します。
      • ログ・グループ: サービス・ログを格納するログ・グループを選択します。新しいログ・グループを作成するには、「新規グループの作成」をクリックし、名前を入力します。
      • ログ名: オプションで、ログの名前を入力します。
      • 拡張オプションの表示:
        • ログ保持: オプションで、サービス・ログを保持する期間を指定します(デフォルト: 30日)。
    9. 「ソース接続の構成」で、必要なメッセージを含むキューを選択します:
      • コンパートメント: 必要なキューを含むコンパートメントを選択します。
      • キュー: 必要なメッセージを含むキューを選択します。
      • チャネル・フィルタ(「メッセージ・フィルタリング」の下) (オプション): キュー内のチャネルからメッセージをフィルタするには、値を入力します。

        たとえば、チャネルIDでメッセージをフィルタするには、チャネルIDを入力します。

        サポートされている値については、GetMessages (キューAPI)のchannelFilterを参照してください。

      ノート

      コネクタのターゲットに転送されたメッセージは「消費済」とみなされます。キュー・サービスの要件を満たすために、コネクタは転送されたメッセージをソース・キューから削除します。詳細は、メッセージの使用を参照してください。
    10. (オプション)「ファンクション・タスクの構成」で、ファンクション・サービスを使用してキューからのメッセージを処理するファンクション・タスクを構成します:
      • タスクの選択: 「関数」を選択します。
      • コンパートメント: 必要なファンクションを含むコンパートメントを選択します。
      • ファンクション・アプリケーション: 必要なファンクションが含まれるファンクション・アプリケーションの名前を選択します。
      • ファンクション: ソースから受け取ったデータの処理に使用するファンクションの名前を選択します。

        タスクとしてコネクタによって使用される場合は、次のいずれかのレスポンスを返すファンクションを構成する必要があります:

        • JSONエントリのリスト(レスポンス・ヘッダーContent-Type=application/jsonを設定する必要があります)
        • 単一のJSONエントリ(レスポンス・ヘッダーContent-Type=application/jsonを設定する必要があります)
        • 単一のバイナリ・オブジェクト(レスポンス・ヘッダーContent-Type=application/octet-streamを設定する必要があります)
      • 追加オプションの表示: このリンクをクリックして、ファンクションに送信されるデータのバッチごとに制限を指定します。手動設定を使用する場合は、バッチ・サイズ制限(KB)およびバッチ時間制限(秒)の値を指定します。

      機能タスクの考慮事項:

      • コネクタ・ハブは、ファンクション・タスクの出力を解析しません。ファンクション・タスクの出力は、そのままターゲットに書き込まれます。たとえば、ファンクション・タスクで通知ターゲットを使用する場合、すべてのメッセージはRAW JSON BLOBとして送信されます。
      • ファンクションは、1回の呼出しで6MBのデータと同期するように呼び出されます。データが6MBを超えると、コネクタが再びファンクションを呼び出して制限を超えるデータを移動します。このような起動は順次処理されます。
      • ファンクションは最大5分間実行できます。
      • 関数タスクはスカラー関数に制限されます。
    11. ターゲットとして「ファンクション」を選択した場合は、「ターゲットの構成」で、キューからメッセージを送信するようにファンクションを構成します。ステップ15にスキップします。
      • コンパートメント: 必要なファンクションを含むコンパートメントを選択します。
      • ファンクション・アプリケーション: 必要なファンクションを含むファンクション・アプリケーションの名前を選択します。
      • ファンクション: データの送信先のファンクションの名前を選択します。
      • 追加オプションの表示: このリンクをクリックして、ファンクションに送信されるデータのバッチごとに制限を指定します。手動設定を使用する場合は、バッチ・サイズ制限(KBまたはメッセージ数)およびバッチ時間制限(秒)の値を指定します。

        たとえば、5,000KBまたは10メッセージを選択して、バッチ・サイズを制限します。バッチ時間制限の例は5秒です。

      ファンクション・ターゲットの考慮事項:

      • コネクタは、ソース・データをバッチでJSONリストとしてフラッシュします。最大バッチ(ペイロード)サイズは6MBです。
      • ファンクションは、1回の呼出しで6MBのデータと同期するように呼び出されます。データが6MBを超えると、コネクタが再びファンクションを呼び出して制限を超えるデータを移動します。このような起動は順次処理されます。
      • ファンクションは最大5分間実行できます。
      • ファンクション・ターゲットからコネクタにデータを返さないでください。コネクタ・ハブは、ファンクション・ターゲットから返されたデータを読み取りません。
    12. ターゲットとして「通知」を選択した場合は、「ターゲットの構成」で、キューからメッセージを送信するようにトピックを構成します。ステップ15にスキップします。
      • コンパートメント: 目的のトピックを含むコンパートメントを選択します。
      • トピック: データの送信先のトピックの名前を選択します。
      • メッセージの書式: 必要なオプションを選択します:
        ノート

        「メッセージの書式」オプションは、「ロギング」ソースのコネクタでのみ使用できます。これらのオプションは、関数タスクがあるコネクタには使用できません。「メッセージ形式」オプションが使用できない場合、メッセージはRAW JSON BLOBとして送信されます。
        • フォーマットされたメッセージの送信: 簡単でわかりやすいレイアウト。

          フォーマットされたメッセージに対してサポートされているサブスクリプション・プロトコルとメッセージ・タイプを確認するには、わかりやすいフォーマットを参照してください。

        • RAWメッセージの送信: RAW JSON BLOB。

      通知ターゲットの考慮事項:

      • 通知ターゲットの最大メッセージ・サイズは128KBです。最大サイズを超えるメッセージは削除されます。
      • SMSメッセージでは、特定のコネクタ構成の場合に予期しない結果が生成されます。この問題は、指定されたコネクタ構成でSMSサブスクリプションを含むトピックに限定されます。詳細は、1つの通知に対する複数のSMSメッセージを参照してください。
    13. ターゲットとして「オブジェクト・ストレージ」を選択した場合は、「ターゲットの構成」で、キューからメッセージを送信するバケットを構成します。ステップ15にスキップします。
      • コンパートメント: 必要なバケットを含むコンパートメントを選択します。
      • バケット: データの送信先のバケットの名前を選択します。
      • オブジェクト名の接頭辞: オプションで、接頭辞値を入力します。
      • 追加オプションの表示: このリンクをクリックし、オプションでバッチ・サイズ(MB)およびバッチ時間(ミリ秒)の値を入力します。

      オブジェクト・ストレージ・ターゲットの考慮事項:

      • バッチ・ロールオーバーの詳細:

        • バッチ・ロールオーバー・サイズ: 100MB
        • バッチ・ロールオーバー時間: 7分
      • オブジェクト・ストレージに保存されるファイルは、gzipを使用して圧縮されます。

      • モニタリング・ソースから移動されたデータの形式: オブジェクト。コネクタは、メトリック・ネームスペースによってモニタリングのソース・データをパーティション化し、各グループ(ネームスペース)のデータをオブジェクトに書き込みます。各オブジェクト名には次の要素が含まれます。

        <object_name_prefix>/<service_connector_ocid>/<metric_compartment_ocid>/<metric_namespace>/<data_start_timestamp>_<data_end_timestamp>.<sequence_number>.<file_type>.gz

        オブジェクト内では、データ・ポイントの各セットが新しい行に追加されます。

    14. ターゲットとして「ストリーミング」を選択した場合は、「ターゲットの構成」で、キューからメッセージを送信するようにストリームを構成します。
      • コンパートメント: ストリームを含むコンパートメントを選択します。
      • ストリーム: データの送信先のストリームの名前を選択します。

      ストリーミング・ターゲットの考慮事項:

      • プライベート・エンドポイント構成はサポートされていません。ストリーム・プール構成の詳細は、ストリーム・プールの作成を参照してください。
      • モニタリング・ソースから移動されたデータの形式: 各オブジェクトは個別のメッセージとして書き込まれます。
    15. デフォルト・ポリシーを受け入れるには、各デフォルト・ポリシーに用意されている「作成」リンクをクリックします。

      デフォルト・ポリシーは、このコネクタがソース、タスクおよびターゲット・サービスにアクセスするために必要な認可のために提供されます。

      この認可は、このようなデフォルト・ポリシーまたはグループベースのポリシーから取得できます。デフォルト・ポリシーは、コンソールを使用してコネクタを作成または編集する際に必ず提供されます。唯一の例外は、一致するポリシーがIAMにすでに存在する場合です。この場合、デフォルト・ポリシーは提供されません。この認可要件の詳細は、認証と認可を参照してください。

      • デフォルト・ポリシーを受け入れる権限がない場合は、管理者に連絡してください。
      • 自動的に作成されたポリシーは、コネクタが削除されてもそのままです。ベスト・プラクティスとしては、コネクタの削除時に関連するポリシーを削除してください。

      新しく作成したポリシーを確認するには、関連するビューリンクをクリックします。

    16. (オプション)コネクタにタグを割り当てます。「拡張オプションの表示」をクリックし、タグ付けフィールドの値を指定します。
      • タグ・ネームスペース: 定義されたタグを追加するには、既存のネームスペースを選択します。空きタグを追加する場合は、空白のままにします。
      • タグ・キー: 定義済タグを追加するには、既存のタグ・キーを選択します。フリーフォーム・タグを追加するには、必要なキー名を入力します。
      • タグ値: 必要なタグ値を入力します。
      • タグの追加: 別のタグを追加する場合にクリックします。
    17. 「作成」をクリックします。
  • oci sch service-connector createコマンドと必要なパラメータを使用して、キュー・ソースを含むコネクタを作成します:

    oci sch service-connector create [...] --source <queue_json_input>

    JSONファイルを使用してソースの詳細をCLIに渡すには:

    oci sch service-connector create [...] --source file:queue_source.json

    JSONファイルのコンテンツの例:

    {
        "kind": "plugin",
        "pluginName": "QueueSource",
        "configMap": {
            "queueId": "<queue_json_input>"
        }
    }

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • CreateServiceConnector操作を実行して、コネクタを作成します。

    キュー・ソースを持つコネクタを作成するには、リクエスト(CreateServiceConnectorDetails)のsourceに、キュー(pluginName QueueSourceconfigMapの各キューOCID)を使用するコネクタ・プラグインを移入します。例については、PluginSourceDetailsを参照してください。