3.3. データソースの kamelet バインディングの Knative 宛先への接続


データソースを Knative 宛先 (チャネルまたはブローカー) に接続するには、図 3.2 に示されるように kamelet バインディングを作成します。

Connecting a data source to a Knative destination

図 3.2 データソースの Knative 宛先への接続

Knative 宛先は Knative チャネルまたは Knative ブローカーになります。

データをチャネルに送信する場合、チャネルには 1 つのイベントタイプのみがあります。kamelet バインディングでチャネルのプロパティー値を指定する必要はありません。

データをブローカーに送信する場合、ブローカーが複数のイベントタイプを処理できるため、kamelet binding でブローカーを参照する場合は、タイププロパティーの値を指定する必要があります。

前提条件

  • イベントの送信先となる Knative チャネルまたはブローカーの名前およびタイプを知っている必要があります。

    この手順の例では、mychannel という名前の InMemoryChannel チャネルまたは default という名前のブローカーを使用します。ブローカーのサンプルでは、type プロパティーの値はコーヒーイベントに対して coffee になります。

  • Camel インテグレーションに追加する kamelet と必要なインスタンスパラメーターを把握している。

    この手順の kamelet の例では、coffee-source kamelet です。各イベントを送信する頻度を指定する任意のパラメーター period があります。Example source kamelet のコードを、coffee-source.kamelet.yaml ファイルという名前のファイルにコピーしてから、以下のコマンドを実行してこれをリソースとして namespace に追加できます。

    oc apply -f coffee-source.kamelet.yaml

手順

データソースを Knative 宛先に接続するには、kamelet バインディングを作成します。

  1. 任意のエディターで、以下の基本構造で YAML ファイルを作成します。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name:
    spec:
      source:
      sink:
  2. kamelet binding の名前を追加します。この例では、バインディングが coffee-source kamelet を Knative 宛先に接続するため、名前は coffees-to-knative になります。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffees-to-knative
    spec:
      source:
      sink:
  3. kamelet バインディングのソースの場合は、データソース kamelet を指定し (たとえば、coffee-source kamelet はコーヒーに関するデータが含まれるイベントを生成します)、kamelet のパラメーターを設定します。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffees-to-knative
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
      sink:
  4. kamelet バインディングのシンクでは、Knative チャネルまたはブローカーおよび必要なパラメーターを指定します。

    以下の例では、Knative チャネルをシンクとして指定します。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffees-to-knative
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
      sink:
        ref:
          apiVersion: messaging.knative.dev/v1
          kind: InMemoryChannel
          name: mychannel

    この例では、Knative ブローカーをシンクとして指定します。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffees-to-knative
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
      sink:
          ref:
            kind: Broker
            apiVersion: eventing.knative.dev/v1
            name: default
          properties:
            type: coffee
  5. YAML ファイルを保存します (例: coffees-to-knative.yaml)。
  6. OpenShift プロジェクトにログインします。
  7. KameletBinding をリソースとして OpenShift namespace に追加します。

    oc apply -f <kamelet binding filename>

    以下に例を示します。

    oc apply -f coffees-to-knative.yaml

    Camel K Operator は、KameletBinding リソースを使用して Camel K インテグレーションを生成し、実行します。ビルドに数分かかる場合があります。

  8. KameletBinding のステータスを表示するには、次のコマンドを実行します。

    oc get kameletbindings

  9. インテグレーションの状態を表示するには、以下を実行します。

    oc get integrations

  10. インテグレーションのログを表示するには、以下を実行します。

    kamel logs <integration> -n <project>

    以下に例を示します。

    kamel logs coffees-to-knative -n my-camel-knative

    結果は以下の出力に似ています。

    ...
    [1] 2021-06-21 07:48:12,696 INFO  [io.quarkus] (main) camel-k-integration 1.4.0 on JVM (powered by Quarkus 1.13.0.Final) started in 2.790s.
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.