15.2. Knative チャネルにサブスクライブしてメッセージを取得
Knative チャネルからメッセージを受信したときにインテグレーションの実行をトリガーするには、Knative コネクションをシンプルなインテグレーションの最初のコネクションとして追加します。このように開始するインテグレーションは、指定期間内にチャネルからメッセージを受信しないと自動的に 0 Pod にスケールダウンされます。デフォルトの期間は 1 分です。
この自動スケーリングはリソースを節約します。そのため、AMQ ブローカーへのコネクションなどの、他のコネクションで始まるシンプルなインテグレーションよりも優れています。
前提条件
- Knative リソースへのコネクションが有効になっている必要があります。
- メッセージを取得する Knative リソースが Fuse Online と同じクラスターにある必要があります。
- コネクションがメッセージを取得する Knative チャネルの名前を知っている必要があります。
手順
- Fuse Online の左側のパネルで Integrations をクリックします。
- Create Integration をクリックします。
- Choose a connection ページで Knative コネクションをクリックします。
- Receive from Channel アクションを選択します。
- Channel name フィールドをクリックし、使用できる Knative チャネルの一覧を表示します。
- メッセージを取得するリソースの Knative チャネル名を選択します。
Next をクリックし、Receive from Channel アクションの出力タイプを指定します。これは、インテグレーションでコネクションが次のステップに渡すタイプです。
データタイプの認識が必要がない場合は、Select Type フィールドに Type specification not required を使用し、Next をクリックします。残りの手順を行う必要はありません。
ただし、構造化データタイプが推奨されます。たとえば、コネクション出力をデータマッパーステップでマップする場合、データタイプを指定する必要があります。データマッパーは、非構造化データのフィールドを表示できません。
データタイプを指定するには、Select Type フィールドをクリックし、以下の 1 つをスキーマタイプとして選択します。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
application/schema+json
です。 -
JSON instance は JSON データが含まれるドキュメントです。ドキュメントのメディアタイプは
application/json
です。 -
XML schema は XML データの構造を記述するドキュメントです。ドキュメントのファイル拡張子は
.xsd
です。 -
XML instance は XML データが含まれるドキュメントです。このドキュメントのファイル拡張子は
.xml
です。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
-
Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが
application/schema+json
の JSON スキーマファイルの内容を貼り付けます。 Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、
Vendor
をデータタイプ名として指定することができます。このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。
- Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
- Next をクリックします。
結果
Fuse Online は、シンプルなインテグレーションの最後のコネクションを追加するよう要求します。
実行中、選択した Knative チャネルが新しいメッセージを受信するたびに、Knative コネクションはインテグレーションの次のステップにメッセージを渡します。
次のステップ
必要なすべてのコネクションをインテグレーションに追加します。その後、インテグレーションを開始する Knative コネクションの後にデータマッパーステップを追加します。ソース message
フィールドを、次のコネクションのターゲットフィールドにマップマップします。