ストリーミング・ソースとのコネクタの作成
コネクタ・ハブでコネクタを作成し、ストリーミング・サービスからターゲット・サービスにストリーム・データを転送します。
ストリーミング・サービスの詳細は、「ストリーミング」を参照してください。
ストリーミング・ソースおよび(オプション)ファンクション・タスクで定義されたコネクタでは、ファンクション、ログ・アナリティクス、オブジェクト・ストレージおよびストリーミングのターゲットがサポートされます。Notificationsターゲットは、ファンクション・タスクが使用されていない場合にのみサポートされます。
コネクタ・ハブ・ワークフローの例については、コネクタ・ハブの概要を参照してください。ソースとしてMonitoringを使用するコネクタの例については、シナリオ: オブジェクト・ストレージへのメトリックの送信を参照してください。
- ストリーム入力スキーマについては、メッセージ参照を参照してください。
- ストリーミング・ソースを使用するNotificationsターゲットの場合、すべてのメッセージはRAW JSON BLOBとして送信されます。
保持期間: ストリーミング・ソース
コネクタ・ハブのストリーミング・ソースの保持期間は顧客定義です。ストリーミング・リソースの制限 を参照してください。搬送の詳細は、「搬送詳細」を参照してください。
保存期間とともに、ストリーミング・ソースの読取り位置によって、ストリーム内のデータの移動を開始する場所が決まります。ソース接続を指定するときに、読取り位置を指定します。
Streamsのプライベート・エンドポイントの前提条件 🔗
プライベート・エンドポイント構成は、ソース・ストリームおよびターゲット・ストリームでサポートされています。プライベート・エンドポイントを使用するストリームにアクセスするための前提条件を次に示します。
- 次のポリシーに従って権限が付与されていることを確認します。
allow group <group-name> to manage virtual-network-family in compartment id <compartment-ocid> where any {request.operation='CreatePrivateEndpoint', request.operation='UpdatePrivateEndpoint', request.operation='DeletePrivateEndpoint', request.operation='ChangePrivateEndpointCompartment', request.operation='EnableReverseConnection', request.operation='ModifyReverseConnection', request.operation='DisableReverseConnection' }
allow group <group-name> to read stream-family in compartment id <compartment-ocid>
- ネットワーク・セキュリティ・グループ(NSG)を使用するには、ストリーミング・プールの作成時にプライベート・エンドポイントをNSGに追加します。
コネクタの作成後、コネクタがそのプライベート・エンドポイントにアクセスできるようにイングレスおよびエグレス・ルールを構成します。プライベート・エンドポイント: イングレスおよびエグレス・ルールの構成を参照してください。
作成プロセスが開始され、その進行状況が表示されます。完了すると、コネクタの詳細ページが開きます。 ストリーミング・ソースでコネクタを作成するには、oci sch service-connector createコマンドと必要なパラメータを使用します:
oci sch service-connector create --display-name "<display_name>" --compartment-id <compartment_OCID> --source [<stream_source_in_JSON>] --target [<target_in_JSON>]
CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。
CreateServiceConnector操作を実行してコネクタを作成します。
ストリーミング・ソースを含むコネクタを作成するには、リクエスト(CreateServiceConnectorDetails)の
source
にストリーミングの詳細を移入します。例については、StreamingSourceDetailsを参照してください。
プライベート・エンドポイント: イングレスおよびエグレス・ルールの構成 🔗
プライベート・エンドポイントを使用するストリームでコネクタを作成した場合は、そのプライベート・エンドポイントにコネクタがアクセスできるようにイングレスおよびエグレス・ルールを構成します。
- 構成用のIPアドレスの取得:
- プライベート・エンドポイントのIPアドレスの取得(
rceTrafficIpAddress
およびrceDnsIpAddress
) - コンソールでストリーム・プールの詳細を表示して、ストリーム・プールのプライベート・エンドポイントのIPアドレスを取得します。「ストリームおよびストリーム・プールのリスト」を参照してください。
- プライベート・エンドポイントのIPアドレスの取得(
- プライマリ・トラフィックの許可: 次の構成を使用して、イングレス・ルールをNSGまたはセキュリティ・リストに追加します。
コンソール:
- ステートレス: いいえ
- ソース:
rceTrafficIpAddress
(例:10.0.0.249/32
) - IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: すべて
API - リクエスト内のルールの例:
{ "protocol": "6", "source": "10.0.0.249/32" }
- DNS参照の許可: 次の構成でNSGまたはセキュリティ・リストにイングレス・ルールを追加します。
コンソール:
- ステートレス: いいえ
- ソース:
rceDnsIpAddress
(例:10.0.0.240/32
) - IPプロトコル: UDP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: すべて
API - リクエスト内のルールの例:
{ "protocol": "17", "source": "10.0.0.240/32" }
- 次の構成でセキュリティ・リストにエグレス・ルールを追加します。
コンソール:
- ステートレス: いいえ
- ソース:
streamPoolIpAddress
(例:10.0.0.20/32
) - IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: すべて
API - リクエスト内のルールの例:
{ "destination": "10.0.0.20/32", "protocol": "6" }
ソースまたはターゲットを変更して別のプライベート・ストリームを使用するか、ストリーミング以外のソースまたはターゲットを使用するには、必要なソースおよびターゲットでコネクタを再作成します。別のプライベート・ストリームの必要性の例として、別のストリーム・プールに移動されたストリームがあります。その場合は、移動したストリームを使用してコネクタを再作成します。不要なストリーム・ソースまたはストリーム・ターゲットを持つ古いコネクタを非アクティブ化または削除してください。
新規コネクタによるデータの移動の確認 🔗
コネクタを作成したら、データが移動していることを確認します。
- コネクタのログを有効化して、データ・フローの詳細を取得します。
- ターゲット・サービスで予想される結果を確認します。
データが移動されていることを確認すると、自動非アクティブ化を回避できます。これは、コネクタに長時間障害が発生した場合に発生します。
プライベート・ストリーム: 別のプライベート・ストリームを使用するようにソースまたはターゲットを変更したり、Streaming以外のソースまたはターゲットを使用するには、必要なソースおよびターゲットを使用してコネクタを再作成します。別のプライベート・ストリームの必要性の例として、別のストリーム・プールに移動されたストリームがあります。その場合は、移動したストリームを使用してコネクタを再作成します。不要なストリーム・ソースまたはストリーム・ターゲットを持つ古いコネクタを非アクティブ化または削除してください。