57.3. 使用方法


本节论述了如何使用 protobuf-serialize-action

57.3.1. Knative Action

您可以使用 protobuf-serialize-action Kamelet 作为 Knative 绑定中的中间步骤。

protobuf-serialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: protobuf-serialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"first": "John", "last":"Doe"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: protobuf-serialize-action
    properties:
      schema: "message Person { required string first = 1; required string last = 2; }"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel

57.3.1.1. 前提条件

确保您已将 "红帽集成 - Camel K" 安装到您连接的 OpenShift 集群中。

57.3.1.2. 使用集群 CLI 的步骤

  1. protobuf-serialize-action-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行操作:

    oc apply -f protobuf-serialize-action-binding.yaml

57.3.1.3. 使用 Kamel CLI 的步骤

使用以下命令配置和运行操作:

kamel bind --name protobuf-serialize-action-binding timer-source?message='{"first":"John","last":"Doe"}' --step json-deserialize-action --step protobuf-serialize-action -p step-1.schema='message Person { required string first = 1; required string last = 2; }' channel:mychannel

此命令在集群的当前命名空间中创建 KameletBinding。

57.3.2. Kafka Action

您可以使用 protobuf-serialize-action Kamelet 作为 Kafka 绑定中的中间步骤。

protobuf-serialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: protobuf-serialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"first": "John", "last":"Doe"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: protobuf-serialize-action
    properties:
      schema: "message Person { required string first = 1; required string last = 2; }"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic

57.3.2.1. 先决条件

确保您已在 OpenShift 集群中安装了 AMQ Streams Operator,并在当前命名空间中创建一个名为 my-topic 的主题。另外,请确保已将 "红帽集成 - Camel K" 安装到您连接的 OpenShift 集群中。

57.3.2.2. 使用集群 CLI 的步骤

  1. protobuf-serialize-action-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行操作:

    oc apply -f protobuf-serialize-action-binding.yaml

57.3.2.3. 使用 Kamel CLI 的步骤

使用以下命令配置和运行操作:

kamel bind --name protobuf-serialize-action-binding timer-source?message='{"first":"John","last":"Doe"}' --step json-deserialize-action --step protobuf-serialize-action -p step-1.schema='message Person { required string first = 1; required string last = 2; }' kafka.strimzi.io/v1beta1:KafkaTopic:my-topic

此命令在集群的当前命名空间中创建 KameletBinding。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.