kamelets 参考


Red Hat Integration 2023.q2

kamelets 参考

Red Hat Integration Documentation Team

摘要

Camel K Kamelets 是可重复使用的路由组件,隐藏创建连接到外部系统的数据管道的复杂性。

前言

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 AWS DynamoDB Sink

将数据发送到 AWS DynamoDB 服务。发送的数据将在给定的 AWS DynamoDB 表中插入/更新/删除项目。

访问密钥/Secret 密钥是向 AWS DynamoDB 服务进行身份验证的基本方法。这些参数是可选的,因为 Kamelet 还提供以下选项 'useDefaultCredentialsProvider'。

使用默认凭证提供程序时,AWS DynamoDB 客户端将通过此提供程序加载凭证,且不会使用静态凭证。这是没有 access key 和 secret key 作为这个 Kamelet 的强制参数的原因。

这个 Kamelet 需要 JSON 字段作为正文。JSON 字段和表属性值之间的映射由键完成,因此如果您有如下输入:

{"username":"oscerd", "city":"Rome"}

Kamelet 将在给定的 AWS DynamoDB 表中插入/更新一个项目,并分别设置属性 'username' 和 'city'。请注意,JSON 对象必须包含定义项目的主要键值。

1.1. 配置选项

下表总结了 aws-ddb-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

要查看的 DynamoDB 表的名称

字符串

  

accessKey

访问密钥

从 AWS 获取的访问密钥

字符串

  

operation

操作

要执行的操作(PutItem、UpdateItem、DeleteItem 之一)

字符串

"PutItem"

"PutItem"

overrideEndpoint

端点覆盖

设置覆盖端点 URI 的需要。这个选项需要与 uriEndpointOverride 设置结合使用。

布尔值

false

 

secretKey

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

uriEndpointOverride

覆盖 Endpoint URI

设置覆盖端点 URI。这个选项需要与 overrideEndpoint 选项结合使用。

字符串

  

useDefaultCredentialsProvider

默认凭证提供程序

设置 DynamoDB 客户端是否应该预期通过默认凭据提供商加载凭据,或希望传递静态凭据。

布尔值

false

 

writeCapacity

写入容量

为向表写入资源而保留的置备吞吐量

整数

1

 
注意

标记为星号的字段是必需的。

1.2. 依赖项

在运行时,aws-ddb-sink Kamelet 依赖于以下依赖项:

  • mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.8.0
  • camel:core
  • camel:jackson
  • camel:aws2-ddb
  • camel:kamelet

1.3. 使用方法

本节论述了如何使用 aws-ddb-sink

1.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-ddb-sink Kamelet 作为 Knative sink。

aws-ddb-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-ddb-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-ddb-sink
    properties:
      region: "eu-west-1"
      table: "The Table"
Copy to Clipboard Toggle word wrap

1.3.1.1. 前提条件

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

1.3.1.2. 使用集群 CLI 的步骤
  1. aws-ddb-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-ddb-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
1.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-ddb-sink -p "sink.region=eu-west-1" -p "sink.table=The Table"
Copy to Clipboard Toggle word wrap

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

1.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-ddb-sink Kamelet 作为 Kafka sink。

aws-ddb-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-ddb-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-ddb-sink
    properties:
      region: "eu-west-1"
      table: "The Table"
Copy to Clipboard Toggle word wrap

1.3.2.1. 先决条件

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

1.3.2.2. 使用集群 CLI 的步骤
  1. aws-ddb-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-ddb-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
1.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-ddb-sink -p "sink.region=eu-west-1" -p "sink.table=The Table"
Copy to Clipboard Toggle word wrap

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

1.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-ddb-sink.kamelet.yaml

第 2 章 Avro 反序列化操作

将反序列化有效负载反序列化为 Avro

2.1. 配置选项

下表总结了 avro-deserialize-action Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

schema *

模式

在序列化过程中使用的 Avro 模式(作为单行,使用 JSON 格式)

字符串

 

"{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"

validate

validate

指明内容是否必须针对架构进行验证

布尔值

true

 
注意

标记为星号的字段是必需的。

2.2. 依赖项

在运行时,avro-deserialize-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core
  • camel:jackson-avro

2.3. 使用方法

这部分论述了如何使用 avro-deserialize-action

2.3.1. Knative Action

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

avro-deserialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: avro-deserialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"first":"Ada","last":"Lovelace"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: avro-serialize-action
    properties:
      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: avro-deserialize-action
    properties:
      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-serialize-action
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

2.3.1.1. 前提条件

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

2.3.1.2. 使用集群 CLI 的步骤
  1. avro-deserialize-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f avro-deserialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
2.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name avro-deserialize-action-binding timer-source?message='{"first":"Ada","last":"Lovelace"}' --step json-deserialize-action --step avro-serialize-action -p step-1.schema='{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' --step avro-deserialize-action -p step-2.schema='{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' --step json-serialize-action channel:mychannel
Copy to Clipboard Toggle word wrap

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

2.3.2. Kafka Action

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

avro-deserialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: avro-deserialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"first":"Ada","last":"Lovelace"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: avro-serialize-action
    properties:
      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: avro-deserialize-action
    properties:
      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-serialize-action
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

2.3.2.1. 先决条件

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

2.3.2.2. 使用集群 CLI 的步骤
  1. avro-deserialize-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f avro-deserialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
2.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name avro-deserialize-action-binding timer-source?message='{"first":"Ada","last":"Lovelace"}' --step json-deserialize-action --step avro-serialize-action -p step-1.schema='{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' --step avro-deserialize-action -p step-2.schema='{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' --step json-serialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

2.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/avro-deserialize-action.kamelet.yaml

第 3 章 Avro Serialize Action

Avro 的序列化有效负载

3.1. 配置选项

下表总结了 avro-serialize-action Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

schema *

模式

在序列化过程中使用的 Avro 模式(作为单行,使用 JSON 格式)

字符串

 

"{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"

validate

validate

指明内容是否必须针对架构进行验证

布尔值

true

 
注意

标记为星号的字段是必需的。

3.2. 依赖项

在运行时,avro-serialize-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core
  • camel:jackson-avro

3.3. 使用方法

这部分论述了如何使用 avro-serialize-action

3.3.1. Knative Action

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

avro-serialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: avro-serialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"first":"Ada","last":"Lovelace"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: avro-serialize-action
    properties:
      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

3.3.1.1. 前提条件

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

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

    oc apply -f avro-serialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
3.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name avro-serialize-action-binding timer-source?message='{"first":"Ada","last":"Lovelace"}' --step json-deserialize-action --step avro-serialize-action -p step-1.schema='{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' channel:mychannel
Copy to Clipboard Toggle word wrap

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

3.3.2. Kafka Action

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

avro-serialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: avro-serialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"first":"Ada","last":"Lovelace"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: avro-serialize-action
    properties:
      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

3.3.2.1. 先决条件

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

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

    oc apply -f avro-serialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
3.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name avro-serialize-action-binding timer-source?message='{"first":"Ada","last":"Lovelace"}' --step json-deserialize-action --step avro-serialize-action -p step-1.schema='{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

3.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/avro-serialize-action.kamelet.yaml

第 4 章 AWS Kinesis Sink

将数据发送到 AWS Kinesis。

Kamelet 期望以下标头:

  • partition / ce-partition: 用来设置 Kinesis 分区密钥

如果没有设置标头,则使用交换 ID。

Kamelet 也可以识别以下标头:

  • sequence-number / ce-sequencenumber: 设置 Sequence 号

这个标头是可选的。

4.1. 配置选项

下表总结了 aws-kinesis-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

流名称

您要访问的 Kinesis 流(预先创建的needs)

字符串

  
注意

标记为星号的字段是必需的。

4.2. 依赖项

在运行时,aws-kinesis-sink Kamelet 依赖于以下依赖项:

  • camel:aws2-kinesis
  • camel:kamelet

4.3. 使用方法

本节论述了如何使用 aws-kinesis-sink

4.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-kinesis-sink Kamelet 作为 Knative sink。

aws-kinesis-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-kinesis-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-kinesis-sink
    properties:
      accessKey: "The Access Key"
      region: "eu-west-1"
      secretKey: "The Secret Key"
      stream: "The Stream Name"
Copy to Clipboard Toggle word wrap

4.3.1.1. 前提条件

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

4.3.1.2. 使用集群 CLI 的步骤
  1. aws-kinesis-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-kinesis-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
4.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-kinesis-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.stream=The Stream Name"
Copy to Clipboard Toggle word wrap

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

4.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-kinesis-sink Kamelet 作为 Kafka sink。

aws-kinesis-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-kinesis-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-kinesis-sink
    properties:
      accessKey: "The Access Key"
      region: "eu-west-1"
      secretKey: "The Secret Key"
      stream: "The Stream Name"
Copy to Clipboard Toggle word wrap

4.3.2.1. 先决条件

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

4.3.2.2. 使用集群 CLI 的步骤
  1. aws-kinesis-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-kinesis-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
4.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-kinesis-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.stream=The Stream Name"
Copy to Clipboard Toggle word wrap

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

4.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-kinesis-sink.kamelet.yaml

第 5 章 AWS Kinesis Source

从 AWS Kinesis 接收数据。

5.1. 配置选项

下表总结了 aws-kinesis-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

流名称

您要访问的 Kinesis 流(预先创建的needs)

字符串

  
注意

标记为星号的字段是必需的。

5.2. 依赖项

在运行时,aws-kinesis-source Kamelet 依赖于以下依赖项:

  • camel:gson
  • camel:kamelet
  • camel:aws2-kinesis

5.3. 使用方法

本节论述了如何使用 aws-kinesis-source

5.3.1. Knative Source

您可以通过将 aws-kinesis-source Kamelet 绑定到 Knative 对象,使用 aws-kinesis-source Kamelet 作为 Knative 源。

aws-kinesis-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-kinesis-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-kinesis-source
    properties:
      accessKey: "The Access Key"
      region: "eu-west-1"
      secretKey: "The Secret Key"
      stream: "The Stream Name"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

5.3.1.1. 前提条件

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

5.3.1.2. 使用集群 CLI 的步骤
  1. aws-kinesis-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f aws-kinesis-source-binding.yaml
    Copy to Clipboard Toggle word wrap
5.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind aws-kinesis-source -p "source.accessKey=The Access Key" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" -p "source.stream=The Stream Name" channel:mychannel
Copy to Clipboard Toggle word wrap

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

5.3.2. Kafka 源

您可以通过将 aws-kinesis-source Kamelet 绑定到 Kafka 主题,使用 aws-kinesis-source Kamelet 作为 Kafka 源。

aws-kinesis-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-kinesis-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-kinesis-source
    properties:
      accessKey: "The Access Key"
      region: "eu-west-1"
      secretKey: "The Secret Key"
      stream: "The Stream Name"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

5.3.2.1. 先决条件

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

5.3.2.2. 使用集群 CLI 的步骤
  1. aws-kinesis-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f aws-kinesis-source-binding.yaml
    Copy to Clipboard Toggle word wrap
5.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind aws-kinesis-source -p "source.accessKey=The Access Key" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" -p "source.stream=The Stream Name" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

5.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-kinesis-source.kamelet.yaml

第 6 章 AWS Lambda Sink

将有效负载发送到 AWS Lambda 函数

6.1. 配置选项

下表总结了 aws-lambda-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

功能

功能名称

Lambda 功能名称

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  
注意

标记为星号的字段是必需的。

6.2. 依赖项

在运行时,aws-lambda-sink Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:aws2-lambda

6.3. 使用方法

本节论述了如何使用 aws-lambda-sink

6.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-lambda-sink Kamelet 作为 Knative sink。

aws-lambda-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-lambda-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-lambda-sink
    properties:
      accessKey: "The Access Key"
      function: "The Function Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

6.3.1.1. 前提条件

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

6.3.1.2. 使用集群 CLI 的步骤
  1. aws-lambda-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-lambda-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
6.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-lambda-sink -p "sink.accessKey=The Access Key" -p "sink.function=The Function Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

6.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-lambda-sink Kamelet 作为 Kafka sink。

aws-lambda-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-lambda-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-lambda-sink
    properties:
      accessKey: "The Access Key"
      function: "The Function Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

6.3.2.1. 先决条件

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

6.3.2.2. 使用集群 CLI 的步骤
  1. aws-lambda-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-lambda-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
6.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-lambda-sink -p "sink.accessKey=The Access Key" -p "sink.function=The Function Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

6.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-lambda-sink.kamelet.yaml

第 7 章 AWS Redshift Sink

将数据发送到 AWS Redshift 数据库。

这个 Kamelet 需要 JSON 作为正文。JSON 字段和参数之间的映射由键完成,因此如果您有以下查询:

'INSERT INTO 帐户(username,city) VALUES (: the username,:öcity)'

Kamelet 需要以输入方式接收,如下所示:

'{ "username":"oscerd", "city":"Rome"}'

7.1. 配置选项

下表总结了 aws-redshift-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

databaseName *

数据库名称

我们所指向的数据库名称

字符串

  

password 114

密码

用于访问安全 AWS Redshift 数据库的密码

字符串

  

查询

查询

针对 AWS Redshift 数据库执行的 Query

字符串

 

"INSERT INTO 帐户(username,city) VALUES (:114username,:öcity) "

serverName *

服务器名称

数据源的服务器名称

字符串

 

"localhost"

用户名

用户名

用于访问安全 AWS Redshift 数据库的用户名

字符串

  

serverPort

服务器端口

数据源的服务器端口

字符串

5439

 
注意

标记为星号的字段是必需的。

7.2. 依赖项

在运行时,aws-redshift-sink Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:sql
  • mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.5
  • mvn:org.apache.commons:commons-dbcp2:2.7.0

7.3. 使用方法

本节论述了如何使用 aws-redshift-sink

7.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-redshift-sink Kamelet 作为 Knative sink。

aws-redshift-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-redshift-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-redshift-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

7.3.1.1. 前提条件

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

7.3.1.2. 使用集群 CLI 的步骤
  1. aws-redshift-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-redshift-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
7.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-redshift-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

7.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-redshift-sink Kamelet 作为 Kafka sink。

aws-redshift-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-redshift-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-redshift-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

7.3.2.1. 先决条件

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

7.3.2.2. 使用集群 CLI 的步骤
  1. aws-redshift-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-redshift-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
7.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-redshift-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

7.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-redshift-sink.kamelet.yaml

第 8 章 AWS SNS Sink

发送消息到 AWS SNS 主题

8.1. 配置选项

下表总结了 aws-sns-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

topicNameOrArn *

主题名称

SQS 主题名称或 ARN

字符串

  

autoCreateTopic

autocreate Topic

设置 SNS 主题的自动创建。

布尔值

false

 
注意

标记为星号的字段是必需的。

8.2. 依赖项

在运行时,aws-sns-sink Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:aws2-sns

8.3. 使用方法

本节论述了如何使用 aws-sns-sink

8.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-sns-sink Kamelet 作为 Knative sink。

aws-sns-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sns-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sns-sink
    properties:
      accessKey: "The Access Key"
      region: "eu-west-1"
      secretKey: "The Secret Key"
      topicNameOrArn: "The Topic Name"
Copy to Clipboard Toggle word wrap

8.3.1.1. 前提条件

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

8.3.1.2. 使用集群 CLI 的步骤
  1. aws-sns-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-sns-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
8.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-sns-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.topicNameOrArn=The Topic Name"
Copy to Clipboard Toggle word wrap

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

8.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-sns-sink Kamelet 作为 Kafka sink。

aws-sns-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sns-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sns-sink
    properties:
      accessKey: "The Access Key"
      region: "eu-west-1"
      secretKey: "The Secret Key"
      topicNameOrArn: "The Topic Name"
Copy to Clipboard Toggle word wrap

8.3.2.1. 先决条件

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

8.3.2.2. 使用集群 CLI 的步骤
  1. aws-sns-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-sns-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
8.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-sns-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.topicNameOrArn=The Topic Name"
Copy to Clipboard Toggle word wrap

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

8.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-sns-sink.kamelet.yaml

第 9 章 AWS SQS Sink

发送消息到 AWS SQS Queue

9.1. 配置选项

下表总结了 aws-sqs-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

queueNameOrArn *

队列名称

SQS Queue name 或 ARN

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

autoCreateQueue

autocreate Queue

设置 SQS 队列的自动创建。

布尔值

false

 
注意

标记为星号的字段是必需的。

9.2. 依赖项

在运行时,aws-sqs-sink Kamelet 依赖于以下依赖项:

  • camel:aws2-sqs
  • camel:core
  • camel:kamelet

9.3. 使用方法

本节论述了如何使用 aws-sqs-sink

9.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-sqs-sink Kamelet 作为 Knative sink。

aws-sqs-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sqs-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sqs-sink
    properties:
      accessKey: "The Access Key"
      queueNameOrArn: "The Queue Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

9.3.1.1. 前提条件

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

9.3.1.2. 使用集群 CLI 的步骤
  1. aws-sqs-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-sqs-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
9.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-sqs-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

9.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-sqs-sink Kamelet 作为 Kafka sink。

aws-sqs-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sqs-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sqs-sink
    properties:
      accessKey: "The Access Key"
      queueNameOrArn: "The Queue Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

9.3.2.1. 先决条件

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

9.3.2.2. 使用集群 CLI 的步骤
  1. aws-sqs-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-sqs-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
9.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-sqs-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

9.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-sqs-sink.kamelet.yaml

第 10 章 AWS SQS 源

从 AWS SQS 接收数据。

10.1. 配置选项

下表总结了 aws-sqs-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

queueNameOrArn *

队列名称

SQS Queue name 或 ARN

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

autoCreateQueue

autocreate Queue

设置 SQS 队列的自动创建。

布尔值

false

 

deleteAfterRead

自动删除消息

在消耗消息后删除消息

布尔值

true

 
注意

标记为星号的字段是必需的。

10.2. 依赖项

在运行时,aws-sqs-source Kamelet 依赖于以下依赖项:

  • camel:aws2-sqs
  • camel:core
  • camel:kamelet
  • camel:jackson

10.3. 使用方法

本节论述了如何使用 aws-sqs-source

10.3.1. Knative Source

您可以通过将 aws-sqs-source Kamelet 绑定到 Knative 对象,使用 aws-sqs-source Kamelet 作为 Knative 源。

aws-sqs-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sqs-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sqs-source
    properties:
      accessKey: "The Access Key"
      queueNameOrArn: "The Queue Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

10.3.1.1. 前提条件

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

10.3.1.2. 使用集群 CLI 的步骤
  1. aws-sqs-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f aws-sqs-source-binding.yaml
    Copy to Clipboard Toggle word wrap
10.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind aws-sqs-source -p "source.accessKey=The Access Key" -p "source.queueNameOrArn=The Queue Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" channel:mychannel
Copy to Clipboard Toggle word wrap

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

10.3.2. Kafka 源

您可以通过将 aws-sqs-source Kamelet 绑定到 Kafka 主题,使用 aws-sqs-source Kamelet 作为 Kafka 源。

aws-sqs-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sqs-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sqs-source
    properties:
      accessKey: "The Access Key"
      queueNameOrArn: "The Queue Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

10.3.2.1. 先决条件

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

10.3.2.2. 使用集群 CLI 的步骤
  1. aws-sqs-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f aws-sqs-source-binding.yaml
    Copy to Clipboard Toggle word wrap
10.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind aws-sqs-source -p "source.accessKey=The Access Key" -p "source.queueNameOrArn=The Queue Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

10.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-sqs-source.kamelet.yaml

第 11 章 AWS 2 Simple Queue Service FIFO sink

发送消息到 AWS SQS FIFO Queue

11.1. 配置选项

下表总结了 aws-sqs-fifo-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

queueNameOrArn *

队列名称

SQS Queue name 或 ARN

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

autoCreateQueue

autocreate Queue

设置 SQS 队列的自动创建。

布尔值

false

 

contentBasedDeduplication

基于内容的重复数据删除

使用基于内容的 deduplication (应首先在 SQS FIFO 队列中启用)

布尔值

false

 
注意

标记为星号的字段是必需的。

11.2. 依赖项

在运行时,aws-sqs-fifo-sink Kamelet 依赖于以下依赖项:

  • camel:aws2-sqs
  • camel:core
  • camel:kamelet

11.3. 使用方法

本节论述了如何使用 aws-sqs-fifo-sink

11.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-sqs-fifo-sink Kamelet 作为 Knative sink。

aws-sqs-fifo-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sqs-fifo-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sqs-fifo-sink
    properties:
      accessKey: "The Access Key"
      queueNameOrArn: "The Queue Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

11.3.1.1. 前提条件

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

11.3.1.2. 使用集群 CLI 的步骤
  1. aws-sqs-fifo-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-sqs-fifo-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
11.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-sqs-fifo-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

11.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 aws-sqs-fifo-sink Kamelet 作为 Kafka sink。

aws-sqs-fifo-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-sqs-fifo-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-sqs-fifo-sink
    properties:
      accessKey: "The Access Key"
      queueNameOrArn: "The Queue Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

11.3.2.1. 先决条件

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

11.3.2.2. 使用集群 CLI 的步骤
  1. aws-sqs-fifo-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-sqs-fifo-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
11.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-sqs-fifo-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

11.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-sqs-fifo-sink.kamelet.yaml

第 12 章 AWS S3 Sink

将数据上传到 AWS S3。

Kamelet 期望设置以下标头:

  • file / ce-file: 作为要上传的文件名

如果没有设置标头,则交换 ID 将用作文件名。

12.1. 配置选项

下表总结了 aws-s3-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥。

字符串

  

bucketNameOrArn *

bucket 名称

S3 Bucket 名称或 ARN。

字符串

  

region 114

AWS 区域

要连接的 AWS 区域。

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥。

字符串

  

autoCreateBucket

autocreate Bucket

设置 S3 存储桶自动创建的 bucketName。

布尔值

false

 
注意

标记为星号的字段是必需的。

12.2. 依赖项

在运行时,aws-s3-sink Kamelet 依赖于以下依赖项:

  • camel:aws2-s3
  • camel:kamelet

12.3. 使用方法

本节论述了如何使用 aws-s3-sink

12.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 aws-s3-sink Kamelet 作为 Knative sink。

aws-s3-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-sink
    properties:
      accessKey: "The Access Key"
      bucketNameOrArn: "The Bucket Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

12.3.1.1. 前提条件

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

12.3.1.2. 使用集群 CLI 的步骤
  1. aws-s3-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-s3-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
12.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-s3-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

12.3.2. Kafka Sink

您可以通过将 aws-s3-sink Kamelet 绑定到 Kafka 主题,使用 aws-s3-sink Kamelet 作为 Kafka sink。

aws-s3-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-sink
    properties:
      accessKey: "The Access Key"
      bucketNameOrArn: "The Bucket Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

12.3.2.1. 先决条件

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

12.3.2.2. 使用集群 CLI 的步骤
  1. aws-s3-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-s3-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
12.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-s3-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

12.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-s3-sink.kamelet.yaml

第 13 章 AWS S3 源

从 AWS S3 接收数据。

13.1. 配置选项

下表总结了 aws-s3-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥

字符串

  

bucketNameOrArn *

bucket 名称

S3 Bucket name 或 ARN

字符串

  

region 114

AWS 区域

要连接的 AWS 区域

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥

字符串

  

autoCreateBucket

autocreate Bucket

设置 S3 存储桶自动创建的 bucketName。

布尔值

false

 

deleteAfterRead

自动删除对象

在消耗对象后删除对象

布尔值

true

 
注意

标记为星号的字段是必需的。

13.2. 依赖项

在运行时,aws-s3-source Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:aws2-s3

13.3. 使用方法

本节论述了如何使用 aws-s3-source

13.3.1. Knative Source

您可以通过将 aws-s3-source Kamelet 绑定到 Knative 对象,将 aws-s3-source Kamelet 用作 Knative 源。

aws-s3-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-source
    properties:
      accessKey: "The Access Key"
      bucketNameOrArn: "The Bucket Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

13.3.1.1. 前提条件

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

13.3.1.2. 使用集群 CLI 的步骤
  1. aws-s3-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f aws-s3-source-binding.yaml
    Copy to Clipboard Toggle word wrap
13.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind aws-s3-source -p "source.accessKey=The Access Key" -p "source.bucketNameOrArn=The Bucket Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" channel:mychannel
Copy to Clipboard Toggle word wrap

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

13.3.2. Kafka 源

您可以通过将 aws-s3-source Kamelet 绑定到 Kafka 主题,将 aws-s3-source Kamelet 用作 Kafka 源。

aws-s3-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-source
    properties:
      accessKey: "The Access Key"
      bucketNameOrArn: "The Bucket Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

13.3.2.1. 先决条件

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

13.3.2.2. 使用集群 CLI 的步骤
  1. aws-s3-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f aws-s3-source-binding.yaml
    Copy to Clipboard Toggle word wrap
13.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind aws-s3-source -p "source.accessKey=The Access Key" -p "source.bucketNameOrArn=The Bucket Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

13.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-s3-source.kamelet.yaml

第 14 章 AWS S3 Streaming upload Sink

在流上传模式中将数据上传到 AWS S3。

14.1. 配置选项

下表总结了 aws-s3-streaming-upload-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

从 AWS 获取的访问密钥。

字符串

  

bucketNameOrArn *

bucket 名称

S3 Bucket 名称或 ARN。

字符串

  

keyName *

键名称

通过端点参数在存储桶中设置元素的密钥名称。在流上传中,带有默认配置,这将是文件进度创建的基础。

字符串

  

region 114

AWS 区域

要连接的 AWS 区域。

字符串

 

"eu-west-1"

secretKey *

机密密钥

从 AWS 获取的 secret 密钥。

字符串

  

autoCreateBucket

autocreate Bucket

设置 S3 存储桶自动创建的 bucketName。

布尔值

false

 

batchMessageNumber

批量消息号

在流上传模式中制作批处理的消息数量

int

10

 

batchSize

批处理大小

流上传模式的批处理大小(以字节为单位)

int

1000000

 

namingStrategy

命名策略

在流上传模式中使用的命名策略。有 2 个枚举,值可以是 progressive, random

字符串

"progressive"

 

restartingPolicy

重启策略

在流上传模式中使用的重启策略。有 2 个枚举,值可以是覆盖之一,lastPart

字符串

"lastPart"

 

streamingUploadMode

流上传模式

设置流上传模式

布尔值

true

 
注意

标记为星号的字段是必需的。

14.2. 依赖项

在运行时,aws-s3-streaming-upload-sink Kamelet 依赖于以下依赖项:

  • camel:aws2-s3
  • camel:kamelet

14.3. 使用方法

本节论述了如何使用 aws-s3-streaming-upload-sink

14.3.1. Knative Sink

您可以通过将它绑定到一个 Knative 对象,使用 aws-s3-streaming-upload-sink Kamelet 作为 Knative sink。

aws-s3-streaming-upload-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-streaming-upload-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-streaming-upload-sink
    properties:
      accessKey: "The Access Key"
      bucketNameOrArn: "The Bucket Name"
      keyName: "The Key Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

14.3.1.1. 前提条件

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

14.3.1.2. 使用集群 CLI 的步骤
  1. aws-s3-streaming-upload-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-s3-streaming-upload-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
14.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel aws-s3-streaming-upload-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.keyName=The Key Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

14.3.2. Kafka Sink

您可以通过将它绑定到一个 Knative 主题,使用 aws-s3-streaming-upload-sink Kamelet 作为 Kafka sink。

aws-s3-streaming-upload-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-streaming-upload-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-streaming-upload-sink
    properties:
      accessKey: "The Access Key"
      bucketNameOrArn: "The Bucket Name"
      keyName: "The Key Name"
      region: "eu-west-1"
      secretKey: "The Secret Key"
Copy to Clipboard Toggle word wrap

14.3.2.1. 先决条件

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

14.3.2.2. 使用集群 CLI 的步骤
  1. aws-s3-streaming-upload-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f aws-s3-streaming-upload-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
14.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-s3-streaming-upload-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.keyName=The Key Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
Copy to Clipboard Toggle word wrap

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

14.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/aws-s3-streaming-upload-sink.kamelet.yaml

第 15 章 Azure Storage Blob Sink

将数据上传到 Azure Storage Blob。

重要

Azure Storage Blob Sink Kamelet 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。

这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview

Kamelet 期望设置以下标头:

  • file / ce-file: 作为要上传的文件名

如果没有设置标头,则交换 ID 将用作文件名。

15.1. 配置选项

下表总结了 azure-storage-blob-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

Azure Storage Blob 访问密钥。

字符串

  

accountName *

帐户名称

Azure Storage Blob 帐户名称。

字符串

  

containerName *

容器名称

Azure Storage Blob 容器名称。

字符串

  

credentialType

凭证类型

决定采用的凭证策略。可能的值有 SHARED_ACCOUNT_KEY, SHARED_KEY_CREDENTIAL 和 AZURE_IDENTITY

字符串

"SHARED_ACCOUNT_KEY"

 

operation

操作名称

要执行的操作。

字符串

"uploadBlockBlob"

 
注意

标记为星号的字段是必需的。

15.2. 依赖项

在运行时,azure-storage-blob-sink Kamelet 依赖于以下依赖项:

  • camel:azure-storage-blob
  • camel:kamelet

15.3. 使用方法

本节论述了如何使用 azure-storage-blob-sink

15.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 azure-storage-blob-sink Kamelet 作为 Knative sink。

azure-storage-blob-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-blob-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-blob-sink
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      containerName: "The Container Name"
Copy to Clipboard Toggle word wrap

15.3.1.1. 前提条件

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

15.3.1.2. 使用集群 CLI 的步骤
  1. azure-storage-blob-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f azure-storage-blob-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
15.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel azure-storage-blob-sink -p "sink.accessKey=The Access Key" -p "sink.accountName=The Account Name" -p "sink.containerName=The Container Name"
Copy to Clipboard Toggle word wrap

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

15.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 azure-storage-blob-sink Kamelet 作为 Kafka sink。

azure-storage-blob-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-blob-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-blob-sink
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      containerName: "The Container Name"
Copy to Clipboard Toggle word wrap

15.3.2.1. 先决条件

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

15.3.2.2. 使用集群 CLI 的步骤
  1. azure-storage-blob-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f azure-storage-blob-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
15.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic azure-storage-blob-sink -p "sink.accessKey=The Access Key" -p "sink.accountName=The Account Name" -p "sink.containerName=The Container Name"
Copy to Clipboard Toggle word wrap

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

15.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/azure-storage-blob-sink.kamelet.yaml

第 16 章 Azure Storage Blob Source

使用 Azure Storage Blob 中的文件。

重要

Azure Storage Blob Source Kamelet 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。

这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview

16.1. 配置选项

下表总结了 azure-storage-blob-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

Azure Storage Blob 访问密钥。

字符串

  

accountName *

帐户名称

Azure Storage Blob 帐户名称。

字符串

  

containerName *

容器名称

Azure Storage Blob 容器名称。

字符串

  

period 114

每个 Polls 间的间隔

获取 Azure Storage 容器的时间间隔(毫秒)

整数

10000

 

credentialType

凭证类型

决定采用的凭证策略。可能的值有 SHARED_ACCOUNT_KEY, SHARED_KEY_CREDENTIAL 和 AZURE_IDENTITY

字符串

"SHARED_ACCOUNT_KEY"

 
注意

标记为星号的字段是必需的。

16.2. 依赖项

在运行时,azure-storage-blob-source Kamelet 依赖于以下依赖项:

  • camel:azure-storage-blob
  • camel:jsonpath
  • camel:core
  • camel:timer
  • camel:kamelet

16.3. 使用方法

本节论述了如何使用 azure-storage-blob-source

16.3.1. Knative Source

您可以通过将 azure-storage-blob-source Kamelet 绑定到 Knative 对象,使用 azure-storage-blob-source Kamelet 作为 Knative 源。

azure-storage-blob-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-blob-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-blob-source
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      containerName: "The Container Name"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

16.3.1.1. 前提条件

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

16.3.1.2. 使用集群 CLI 的步骤
  1. azure-storage-blob-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f azure-storage-blob-source-binding.yaml
    Copy to Clipboard Toggle word wrap
16.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind azure-storage-blob-source -p "source.accessKey=The Access Key" -p "source.accountName=The Account Name" -p "source.containerName=The Container Name" channel:mychannel
Copy to Clipboard Toggle word wrap

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

16.3.2. Kafka 源

您可以通过将 azure-storage-blob-source Kamelet 绑定到 Kafka 主题,使用 azure-storage-blob-source Kamelet 作为 Kafka 源。

azure-storage-blob-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-blob-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-blob-source
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      containerName: "The Container Name"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

16.3.2.1. 先决条件

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

16.3.2.2. 使用集群 CLI 的步骤
  1. azure-storage-blob-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f azure-storage-blob-source-binding.yaml
    Copy to Clipboard Toggle word wrap
16.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind azure-storage-blob-source -p "source.accessKey=The Access Key" -p "source.accountName=The Account Name" -p "source.containerName=The Container Name" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

16.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/azure-storage-blob-source.kamelet.yaml

第 17 章 Azure Storage Queue Sink

发送消息到 Azure Storage 队列。

重要

Azure Storage Queue Sink Kamelet 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。

这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview

Kamelet 能够了解要设置的以下标头:

  • expiration / ce-expiration: 作为队列中显示消息的时间。

如果没有设置标头,则使用默认值 7 天。

格式应该采用此形式: PnDTnHnMn.nS.,例如:PT20.345S114- parses 为 20.345 秒,P2D 变为 2 天。

17.1. 配置选项

下表总结了 azure-storage-queue-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

Azure Storage Queue 访问密钥。

字符串

  

accountName *

帐户名称

Azure Storage Queue 帐户名称。

字符串

  

queueName *

队列名称

Azure Storage Queue 容器名称。

字符串

  
注意

标记为星号的字段是必需的。

17.2. 依赖项

在运行时,azure-storage-queue-sink Kamelet 依赖于以下依赖项:

  • camel:azure-storage-queue
  • camel:kamelet

17.3. 使用方法

本节论述了如何使用 azure-storage-queue-sink

17.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 azure-storage-queue-sink Kamelet 作为 Knative sink。

azure-storage-queue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-queue-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-queue-sink
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      queueName: "The Queue Name"
Copy to Clipboard Toggle word wrap

17.3.1.1. 前提条件

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

17.3.1.2. 使用集群 CLI 的步骤
  1. azure-storage-queue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f azure-storage-queue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
17.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel azure-storage-queue-sink -p "sink.accessKey=The Access Key" -p "sink.accountName=The Account Name" -p "sink.queueName=The Queue Name"
Copy to Clipboard Toggle word wrap

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

17.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 azure-storage-queue-sink Kamelet 作为 Kafka sink。

azure-storage-queue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-queue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-queue-sink
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      queueName: "The Queue Name"
Copy to Clipboard Toggle word wrap

17.3.2.1. 先决条件

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

17.3.2.2. 使用集群 CLI 的步骤
  1. azure-storage-queue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f azure-storage-queue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
17.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic azure-storage-queue-sink -p "sink.accessKey=The Access Key" -p "sink.accountName=The Account Name" -p "sink.queueName=The Queue Name"
Copy to Clipboard Toggle word wrap

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

17.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/azure-storage-queue-sink.kamelet.yaml

第 18 章 Azure Storage Queue Source

从 Azure Storage 队列接收消息。

重要

Azure Storage Queue Source Kamelet 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。

这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview

18.1. 配置选项

下表总结了 azure-storage-queue-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

Azure Storage Queue 访问密钥。

字符串

  

accountName *

帐户名称

Azure Storage Queue 帐户名称。

字符串

  

queueName *

队列名称

Azure Storage Queue 容器名称。

字符串

  

maxMessages

最大消息

如果队列中存在比请求所有消息少的消息数量,则需要获取的最大消息数。默认情况下,它将考虑要检索 1 个消息,允许的范围为 1 到 32 个消息。

int

1

 
注意

标记为星号的字段是必需的。

18.2. 依赖项

在运行时,azure-storage-queue-source Kamelet 依赖于以下依赖项:

  • camel:azure-storage-queue
  • camel:kamelet

18.3. 使用方法

本节论述了如何使用 azure-storage-queue-source

18.3.1. Knative Source

您可以通过将 azure-storage-queue-source Kamelet 绑定到 Knative 对象,使用 azure-storage-queue-source Kamelet 作为 Knative 源。

azure-storage-queue-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-queue-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-queue-source
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      queueName: "The Queue Name"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

18.3.1.1. 前提条件

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

18.3.1.2. 使用集群 CLI 的步骤
  1. azure-storage-queue-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f azure-storage-queue-source-binding.yaml
    Copy to Clipboard Toggle word wrap
18.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind azure-storage-queue-source -p "source.accessKey=The Access Key" -p "source.accountName=The Account Name" -p "source.queueName=The Queue Name" channel:mychannel
Copy to Clipboard Toggle word wrap

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

18.3.2. Kafka 源

您可以通过将 azure-storage-queue-source Kamelet 绑定到 Kafka 主题,使用 azure-storage-queue-source Kamelet 作为 Kafka 源。

azure-storage-queue-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: azure-storage-queue-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: azure-storage-queue-source
    properties:
      accessKey: "The Access Key"
      accountName: "The Account Name"
      queueName: "The Queue Name"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

18.3.2.1. 先决条件

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

18.3.2.2. 使用集群 CLI 的步骤
  1. azure-storage-queue-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f azure-storage-queue-source-binding.yaml
    Copy to Clipboard Toggle word wrap
18.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind azure-storage-queue-source -p "source.accessKey=The Access Key" -p "source.accountName=The Account Name" -p "source.queueName=The Queue Name" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

18.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/azure-storage-queue-source.kamelet.yaml

第 19 章 Cassandra Sink

将数据发送到 Cassandra 集群。

这个 Kamelet 期望正文作为 JSON Array。JSON 阵列的内容将用作查询参数中设置的 CQL 准备声明的输入。

19.1. 配置选项

下表总结了 cassandra-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

connectionHost 114

连接主机

主机名cassandra 服务器。可以使用逗号分隔多个主机。

字符串

 

"localhost"

connectionPort 114

连接端口

cassandra 服务器的端口号

字符串

 

9042

键空间( keyspace )

键空间

要使用的键空间

字符串

 

"customers"

password 114

密码

用于访问安全 Cassandra 集群的密码

字符串

  

查询

查询

针对 Cassandra 集群表执行的查询

字符串

  

用户名

用户名

用于访问安全 Cassandra 集群的用户名

字符串

  

consistencyLevel

一致性级别

要使用的一致性级别。该值可以是 ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE

字符串

"ANY"

 
注意

标记为星号的字段是必需的。

19.2. 依赖项

在运行时,cassandra-sink Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:cassandraql

19.3. 使用方法

本节论述了如何使用 cassandra-sink

19.3.1. Knative Sink

您可以通过将 cassandra-sink Kamelet 绑定到 Knative 对象,使用 cassandra-sink Kamelet 作为 Knative sink。

cassandra-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: cassandra-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: cassandra-sink
    properties:
      connectionHost: "localhost"
      connectionPort: 9042
      keyspace: "customers"
      password: "The Password"
      query: "The Query"
      username: "The Username"
Copy to Clipboard Toggle word wrap

19.3.1.1. 前提条件

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

19.3.1.2. 使用集群 CLI 的步骤
  1. cassandra-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f cassandra-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
19.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel cassandra-sink -p "sink.connectionHost=localhost" -p sink.connectionPort=9042 -p "sink.keyspace=customers" -p "sink.password=The Password" -p "sink.query=Query" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

19.3.2. Kafka Sink

您可以通过将 cassandra-sink Kamelet 绑定到 Kafka 主题,使用 cassandra-sink Kamelet 作为 Kafka sink。

cassandra-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: cassandra-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: cassandra-sink
    properties:
      connectionHost: "localhost"
      connectionPort: 9042
      keyspace: "customers"
      password: "The Password"
      query: "The Query"
      username: "The Username"
Copy to Clipboard Toggle word wrap

19.3.2.1. 先决条件

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

19.3.2.2. 使用集群 CLI 的步骤
  1. cassandra-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f cassandra-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
19.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic cassandra-sink -p "sink.connectionHost=localhost" -p sink.connectionPort=9042 -p "sink.keyspace=customers" -p "sink.password=The Password" -p "sink.query=The Query" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

19.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/cassandra-sink.kamelet.yaml

第 20 章 Cassandra Source

查询 Cassandra 集群表。

20.1. 配置选项

下表总结了 cassandra-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

connectionHost 114

连接主机

主机名cassandra 服务器。可以使用逗号分隔多个主机。

字符串

 

"localhost"

connectionPort 114

连接端口

cassandra 服务器的端口号

字符串

 

9042

键空间( keyspace )

键空间

要使用的键空间

字符串

 

"customers"

password 114

密码

用于访问安全 Cassandra 集群的密码

字符串

  

查询

查询

针对 Cassandra 集群表执行的查询

字符串

  

用户名

用户名

用于访问安全 Cassandra 集群的用户名

字符串

  

consistencyLevel

一致性级别

要使用的一致性级别。该值可以是 ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE

字符串

"QUORUM"

 

resultStrategy

结果策略

用于转换查询结果集的策略。可能的值有 ALL, ONE, LIMIT_10, LIMIT_100…​

字符串

"ALL"

 
注意

标记为星号的字段是必需的。

20.2. 依赖项

在运行时,cassandra-source Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:cassandraql

20.3. 使用方法

本节论述了如何使用 cassandra-source

20.3.1. Knative Source

您可以通过将 cassandra-source Kamelet 绑定到 Knative 对象,将 cassandra-source Kamelet 用作 Knative 源。

cassandra-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: cassandra-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: cassandra-source
    properties:
      connectionHost: "localhost"
      connectionPort: 9042
      keyspace: "customers"
      password: "The Password"
      query: "The Query"
      username: "The Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

20.3.1.1. 前提条件

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

20.3.1.2. 使用集群 CLI 的步骤
  1. cassandra-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f cassandra-source-binding.yaml
    Copy to Clipboard Toggle word wrap
20.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind cassandra-source -p "source.connectionHost=localhost" -p source.connectionPort=9042 -p "source.keyspace=customers" -p "source.password=The Password" -p "source.query=The Query" -p "source.username=The Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

20.3.2. Kafka 源

您可以通过将 cassandra-source Kamelet 绑定到 Kafka 主题,将 cassandra-source Kamelet 用作 Kafka 源。

cassandra-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: cassandra-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: cassandra-source
    properties:
      connectionHost: "localhost"
      connectionPort: 9042
      keyspace: "customers"
      password: "The Password"
      query: "The Query"
      username: "The Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

20.3.2.1. 先决条件

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

20.3.2.2. 使用集群 CLI 的步骤
  1. cassandra-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f cassandra-source-binding.yaml
    Copy to Clipboard Toggle word wrap
20.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind cassandra-source -p "source.connectionHost=localhost" -p source.connectionPort=9042 -p "source.keyspace=customers" -p "source.password=The Password" -p "source.query=The Query" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

20.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/cassandra-source.kamelet.yaml

第 21 章 Ceph Sink

将数据上传到由对象网关管理的 Ceph Bucket。

在标头中,您可以选择性地设置 file / ce-file 属性,以指定要上传的文件的名称。

如果您没有在标头中设置属性,则 Kamelet 将交换 ID 用于文件名。

21.1. 配置选项

下表总结了 ceph-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

access key。

字符串

  

bucketName *

bucket 名称

Ceph Bucket 名称。

字符串

  

cephUrl *

Ceph Url Address

设置 Ceph Object Storage Address Url。

字符串

 

"http://ceph-storage-address.com"

secretKey *

机密密钥

secret 密钥。

字符串

  

zoneGroup *

bucket 区组

bucket zone group。

字符串

  

autoCreateBucket

autocreate Bucket

指定自动创建存储桶。

布尔值

false

 

keyName

键名称

在存储桶中保存元素的密钥名称。

字符串

  
注意

标记为星号的字段是必需的。

21.2. 依赖项

在运行时,ceph-sink Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:aws2-s3
  • camel:kamelet

21.3. 使用方法

本节介绍如何使用 ceph-sink

21.3.1. Knative Sink

您可以通过将 ceph-sink Kamelet 绑定到 Knative 对象,将 ceph-sink Kamelet 用作 Knative sink。

ceph-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ceph-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ceph-sink
    properties:
      accessKey: "The Access Key"
      bucketName: "The Bucket Name"
      cephUrl: "http://ceph-storage-address.com"
      secretKey: "The Secret Key"
      zoneGroup: "The Bucket Zone Group"
Copy to Clipboard Toggle word wrap

21.3.1.1. 前提条件

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

21.3.1.2. 使用集群 CLI 的步骤
  1. ceph-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f ceph-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
21.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel ceph-sink -p "sink.accessKey=The Access Key" -p "sink.bucketName=The Bucket Name" -p "sink.cephUrl=http://ceph-storage-address.com" -p "sink.secretKey=The Secret Key" -p "sink.zoneGroup=The Bucket Zone Group"
Copy to Clipboard Toggle word wrap

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

21.3.2. Kafka Sink

您可以通过将 ceph-sink Kamelet 绑定到 Kafka 主题,将 ceph-sink Kamelet 用作 Kafka sink。

ceph-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ceph-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ceph-sink
    properties:
      accessKey: "The Access Key"
      bucketName: "The Bucket Name"
      cephUrl: "http://ceph-storage-address.com"
      secretKey: "The Secret Key"
      zoneGroup: "The Bucket Zone Group"
Copy to Clipboard Toggle word wrap

21.3.2.1. 先决条件

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

21.3.2.2. 使用集群 CLI 的步骤
  1. ceph-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f ceph-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
21.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic ceph-sink -p "sink.accessKey=The Access Key" -p "sink.bucketName=The Bucket Name" -p "sink.cephUrl=http://ceph-storage-address.com" -p "sink.secretKey=The Secret Key" -p "sink.zoneGroup=The Bucket Zone Group"
Copy to Clipboard Toggle word wrap

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

21.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/ceph-sink.kamelet.yaml

第 22 章 Ceph 源

从 Ceph Bucket 接收数据,由对象网关管理。

22.1. 配置选项

下表总结了 ceph-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

accessKey the

访问密钥

access key。

字符串

  

bucketName *

bucket 名称

Ceph Bucket 名称。

字符串

  

cephUrl *

Ceph Url Address

设置 Ceph Object Storage Address Url。

字符串

 

"http://ceph-storage-address.com"

secretKey *

机密密钥

secret 密钥。

字符串

  

zoneGroup *

bucket 区组

bucket zone group。

字符串

  

autoCreateBucket

autocreate Bucket

指定自动创建存储桶。

布尔值

false

 

delay

delay

下一次轮询所选存储桶前的毫秒数。

整数

500

 

deleteAfterRead

自动删除对象

指定在消耗对象后删除对象。

布尔值

true

 

ignoreBody

忽略正文

如果为 true,则忽略对象正文。把它设置为 true 将覆盖 includeBody 选项定义的任何行为。如果为 false,则对象将放入正文中。

布尔值

false

 

includeBody

include Body

如果为 true,则交换会被使用并放入正文和关闭中。如果为 false,则对象流将原始放入正文中,标头会使用对象元数据设置。

布尔值

true

 

prefix

prefix

搜索时要考虑的存储桶前缀。

字符串

 

"folder/"

注意

标记为星号的字段是必需的。

22.2. 依赖项

在运行时,ceph-source Kamelet 依赖于以下依赖项:

  • camel:aws2-s3
  • camel:kamelet

22.3. 使用方法

本节介绍如何使用 ceph-source

22.3.1. Knative Source

您可以通过将 ceph-source Kamelet 绑定到 Knative 对象,将 ceph-source Kamelet 用作 Knative 源。

ceph-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ceph-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ceph-source
    properties:
      accessKey: "The Access Key"
      bucketName: "The Bucket Name"
      cephUrl: "http://ceph-storage-address.com"
      secretKey: "The Secret Key"
      zoneGroup: "The Bucket Zone Group"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

22.3.1.1. 前提条件

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

22.3.1.2. 使用集群 CLI 的步骤
  1. ceph-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f ceph-source-binding.yaml
    Copy to Clipboard Toggle word wrap
22.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind ceph-source -p "source.accessKey=The Access Key" -p "source.bucketName=The Bucket Name" -p "source.cephUrl=http://ceph-storage-address.com" -p "source.secretKey=The Secret Key" -p "source.zoneGroup=The Bucket Zone Group" channel:mychannel
Copy to Clipboard Toggle word wrap

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

22.3.2. Kafka 源

您可以通过将 ceph-source Kamelet 绑定到 Kafka 主题,将 ceph-source Kamelet 用作 Kafka 源。

ceph-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ceph-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ceph-source
    properties:
      accessKey: "The Access Key"
      bucketName: "The Bucket Name"
      cephUrl: "http://ceph-storage-address.com"
      secretKey: "The Secret Key"
      zoneGroup: "The Bucket Zone Group"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

22.3.2.1. 先决条件

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

22.3.2.2. 使用集群 CLI 的步骤
  1. ceph-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f ceph-source-binding.yaml
    Copy to Clipboard Toggle word wrap
22.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind ceph-source -p "source.accessKey=The Access Key" -p "source.bucketName=The Bucket Name" -p "source.cephUrl=http://ceph-storage-address.com" -p "source.secretKey=The Secret Key" -p "source.zoneGroup=The Bucket Zone Group" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

22.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/ceph-source.kamelet.yaml

第 23 章 提取字段操作

从正文中提取字段

23.1. 配置选项

下表总结了 extract-field-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

field 114

字段

要添加的字段的名称

字符串

  
注意

标记为星号的字段是必需的。

23.2. 依赖项

在运行时,extract-field-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core
  • camel:jackson

23.3. 使用方法

这部分论述了如何使用 extract-field-action

23.3.1. Knative Action

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

extract-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: extract-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: extract-field-action
    properties:
      field: "The Field"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

23.3.1.1. 前提条件

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

23.3.1.2. 使用集群 CLI 的步骤
  1. extract-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f extract-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
23.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step extract-field-action -p "step-0.field=The Field" channel:mychannel
Copy to Clipboard Toggle word wrap

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

23.3.2. Kafka Action

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

extract-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: extract-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: extract-field-action
    properties:
      field: "The Field"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

23.3.2.1. 先决条件

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

23.3.2.2. 使用集群 CLI 的步骤
  1. extract-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f extract-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
23.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step extract-field-action -p "step-0.field=The Field" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

23.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/extract-field-action.kamelet.yaml

第 24 章 FTP Sink

将数据发送到 FTP 服务器。

Kamelet 期望设置以下标头:

  • file / ce-file: 作为要上传的文件名

如果没有设置标头,则交换 ID 将用作文件名。

24.1. 配置选项

下表总结了 ftp-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

connectionHost 114

连接主机

FTP 服务器的主机名

字符串

  

connectionPort 114

连接端口

FTP 服务器的端口

字符串

21

 

directoryName *

目录名称

启动目录

字符串

  

password 114

密码

访问 FTP 服务器的密码

字符串

  

用户名

用户名

访问 FTP 服务器的用户名

字符串

  

fileExist

文件优先级

在文件已存在时如何行为。有 4 个枚举,值可以是 Override, Append, Fail 或 Ignore 之一

字符串

"Override"

 

passiveMode

被动模式

设置被动模式连接

布尔值

false

 
注意

标记为星号的字段是必需的。

24.2. 依赖项

在运行时,ftp-sink Kamelet 依赖于以下依赖项:

  • camel:ftp
  • camel:core
  • camel:kamelet

24.3. 使用方法

本节论述了如何使用 ftp-sink

24.3.1. Knative Sink

您可以通过将 ftp-sink Kamelet 绑定到 Knative 对象,将 ftp-sink Kamelet 用作 Knative sink。

ftp-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ftp-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ftp-sink
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
Copy to Clipboard Toggle word wrap

24.3.1.1. 前提条件

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

24.3.1.2. 使用集群 CLI 的步骤
  1. ftp-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f ftp-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
24.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel ftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

24.3.2. Kafka Sink

您可以通过将 ftp-sink Kamelet 绑定到 Kafka 主题,将 ftp-sink Kamelet 用作 Kafka sink。

ftp-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ftp-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ftp-sink
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
Copy to Clipboard Toggle word wrap

24.3.2.1. 先决条件

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

24.3.2.2. 使用集群 CLI 的步骤
  1. ftp-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f ftp-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
24.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic ftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

24.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/ftp-sink.kamelet.yaml

第 25 章 FTP 源

从 FTP 服务器接收数据。

25.1. 配置选项

下表总结了 ftp-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

connectionHost 114

连接主机

FTP 服务器的主机名

字符串

  

connectionPort 114

连接端口

FTP 服务器的端口

字符串

21

 

directoryName *

目录名称

启动目录

字符串

  

password 114

密码

访问 FTP 服务器的密码

字符串

  

用户名

用户名

访问 FTP 服务器的用户名

字符串

  

idempotent

idempotency

跳过已经处理的文件。

布尔值

true

 

passiveMode

被动模式

设置被动模式连接

布尔值

false

 

递归

递归

如果某个目录,也会在所有子目录中查找文件。

布尔值

false

 
注意

标记为星号的字段是必需的。

25.2. 依赖项

在运行时,ftp-source Kamelet 依赖于以下依赖项:

  • camel:ftp
  • camel:core
  • camel:kamelet

25.3. 使用方法

这部分论述了如何使用 ftp-source

25.3.1. Knative Source

您可以通过将 ftp-source Kamelet 绑定到 Knative 对象,将 ftp-source Kamelet 用作 Knative 源。

ftp-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ftp-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ftp-source
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

25.3.1.1. 前提条件

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

25.3.1.2. 使用集群 CLI 的步骤
  1. ftp-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f ftp-source-binding.yaml
    Copy to Clipboard Toggle word wrap
25.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind ftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

25.3.2. Kafka 源

您可以通过将 ftp-source Kamelet 绑定到 Kafka 主题,将 ftp-source Kamelet 用作 Kafka 源。

ftp-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: ftp-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: ftp-source
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

25.3.2.1. 先决条件

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

25.3.2.2. 使用集群 CLI 的步骤
  1. ftp-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f ftp-source-binding.yaml
    Copy to Clipboard Toggle word wrap
25.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind ftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

25.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/ftp-source.kamelet.yaml

第 26 章 具有标头过滤器操作

根据一个标头进行过滤

26.1. 配置选项

下表总结了 has-header-filter-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

名称

标头名称

要评估的标头名称。标头名称必须由源 Kamelet 传递。对于 Knative,如果您使用 Cloud Events,则必须在标头名称中包含 CloudEvent (ce-)前缀。

字符串

 

"headerName"

注意

标记为星号的字段是必需的。

26.2. 依赖项

在运行时,d -header-filter-action Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:kamelet

26.3. 使用方法

本节论述了如何使用 has-header-filter-action

26.3.1. Knative Action

您可以使用 has-header-filter-action Kamelet 作为 Knative 绑定中的中间步骤。

has-header-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: has-header-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "my-header"
      value: "my-value"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: has-header-filter-action
    properties:
      name: "my-header"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

26.3.1.1. 前提条件

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

26.3.1.2. 使用集群 CLI 的步骤
  1. has-header-filter-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f has-header-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
26.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name has-header-filter-action-binding timer-source?message="Hello" --step insert-header-action -p "step-0.name=my-header" -p "step-0.value=my-value" --step has-header-filter-action -p "step-1.name=my-header" channel:mychannel
Copy to Clipboard Toggle word wrap

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

26.3.2. Kafka Action

您可以使用 has-header-filter-action Kamelet 作为 Kafka 绑定中的中间步骤。

has-header-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: has-header-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "my-header"
      value: "my-value"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: has-header-filter-action
    properties:
      name: "my-header"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

26.3.2.1. 先决条件

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

26.3.2.2. 使用集群 CLI 的步骤
  1. has-header-filter-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f has-header-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
26.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name has-header-filter-action-binding timer-source?message="Hello" --step insert-header-action -p "step-0.name=my-header" -p "step-0.value=my-value" --step has-header-filter-action -p "step-1.name=my-header" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

26.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/has-header-filter-action.kamelet.yaml

第 27 章 Hoist 字段操作

将数据嵌套在单个字段中

27.1. 配置选项

下表总结了 hoist-field-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

field 114

字段

包含事件的字段名称

字符串

  
注意

标记为星号的字段是必需的。

27.2. 依赖项

在运行时,hoist-field-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:core
  • camel:jackson
  • camel:kamelet

27.3. 使用方法

这部分论述了如何使用 hoist-field-action

27.3.1. Knative Action

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

hoist-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: hoist-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: hoist-field-action
    properties:
      field: "The Field"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

27.3.1.1. 前提条件

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

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

    oc apply -f hoist-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
27.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step hoist-field-action -p "step-0.field=The Field" channel:mychannel
Copy to Clipboard Toggle word wrap

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

27.3.2. Kafka Action

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

hoist-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: hoist-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: hoist-field-action
    properties:
      field: "The Field"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

27.3.2.1. 先决条件

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

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

    oc apply -f hoist-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
27.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step hoist-field-action -p "step-0.field=The Field" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

27.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/hoist-field-action.kamelet.yaml

第 28 章 HTTP Sink

将事件转发到 HTTP 端点

28.1. 配置选项

下表总结了 http-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

url *

URL

将数据发送到的 URL

字符串

 

"https://my-service/path"

方法

方法

要使用的 HTTP 方法

字符串

"POST"

 
注意

标记为星号的字段是必需的。

28.2. 依赖项

在运行时,http-sink Kamelet 依赖于以下依赖项:

  • camel:http
  • camel:kamelet
  • camel:core

28.3. 使用方法

本节论述了如何使用 http-sink

28.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 http-sink Kamelet 作为 Knative sink。

http-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: http-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: http-sink
    properties:
      url: "https://my-service/path"
Copy to Clipboard Toggle word wrap

28.3.1.1. 前提条件

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

28.3.1.2. 使用集群 CLI 的步骤
  1. http-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f http-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
28.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel http-sink -p "sink.url=https://my-service/path"
Copy to Clipboard Toggle word wrap

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

28.3.2. Kafka Sink

您可以通过将 http-sink Kamelet 绑定到 Kafka 主题,将 http-sink Kamelet 用作 Kafka sink。

http-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: http-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: http-sink
    properties:
      url: "https://my-service/path"
Copy to Clipboard Toggle word wrap

28.3.2.1. 先决条件

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

28.3.2.2. 使用集群 CLI 的步骤
  1. http-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f http-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
28.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic http-sink -p "sink.url=https://my-service/path"
Copy to Clipboard Toggle word wrap

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

28.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/http-sink.kamelet.yaml

第 29 章 插入字段操作

为传输的消息添加一个带有恒定值的自定义字段

29.1. 配置选项

下表总结了 insert-field-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

field 114

字段

要添加的字段的名称

字符串

  

Value the value the

字段的值

字符串

  
注意

标记为星号的字段是必需的。

29.2. 依赖项

在运行时,insert-field-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:core
  • camel:jackson
  • camel:kamelet

29.3. 使用方法

这部分论述了如何使用 insert-field-action

29.3.1. Knative Action

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

insert-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: insert-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"foo":"John"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-field-action
    properties:
      field: "The Field"
      value: "The Value"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

29.3.1.1. 前提条件

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

29.3.1.2. 使用集群 CLI 的步骤
  1. insert-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f insert-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
29.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name insert-field-action-binding timer-source?message='{"foo":"John"}' --step json-deserialize-action --step insert-field-action -p step-1.field='The Field' -p step-1.value='The Value' channel:mychannel
Copy to Clipboard Toggle word wrap

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

29.3.2. Kafka Action

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

insert-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: insert-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: '{"foo":"John"}'
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-field-action
    properties:
      field: "The Field"
      value: "The Value"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

29.3.2.1. 先决条件

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

29.3.2.2. 使用集群 CLI 的步骤
  1. insert-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f insert-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
29.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name insert-field-action-binding timer-source?message='{"foo":"John"}' --step json-deserialize-action --step insert-field-action -p step-1.field='The Field' -p step-1.value='The Value' kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

29.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/insert-field-action.kamelet.yaml

第 30 章 插入标头操作

为传输的消息添加一个带有恒定值的标头

30.1. 配置选项

下表总结了 insert-header-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

名称

名称

要添加的标头的名称。对于 Knative,标头的名称需要一个 CloudEvent (ce-)前缀。

字符串

  

Value the value the

标头的值

字符串

  
注意

标记为星号的字段是必需的。

30.2. 依赖项

在运行时,insert-header-action Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:kamelet

30.3. 使用方法

本节论述了如何使用 insert-header-action

30.3.1. Knative Action

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

insert-header-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: insert-header-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "The Name"
      value: "The Value"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

30.3.1.1. 前提条件

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

30.3.1.2. 使用集群 CLI 的步骤
  1. insert-header-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f insert-header-action-binding.yaml
    Copy to Clipboard Toggle word wrap
30.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step insert-header-action -p "step-0.name=The Name" -p "step-0.value=The Value" channel:mychannel
Copy to Clipboard Toggle word wrap

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

30.3.2. Kafka Action

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

insert-header-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: insert-header-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "The Name"
      value: "The Value"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

30.3.2.1. 先决条件

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

30.3.2.2. 使用集群 CLI 的步骤
  1. insert-header-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f insert-header-action-binding.yaml
    Copy to Clipboard Toggle word wrap
30.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step insert-header-action -p "step-0.name=The Name" -p "step-0.value=The Value" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

30.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/insert-header-action.kamelet.yaml

第 31 章 是 Tombstone Filter Action

根据正文是否存在过滤

31.1. 配置选项

is-tombstone-filter-action Kamelet 没有指定任何配置选项。

31.2. 依赖项

在运行时,is-tombstone-filter-action Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:kamelet

31.3. 使用方法

本节论述了如何使用 is-tombstone-filter-action

31.3.1. Knative Action

您可以使用 is-tombstone-filter-action Kamelet 作为 Knative 绑定中的中间步骤。

is-tombstone-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: is-tombstone-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: is-tombstone-filter-action
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

31.3.1.1. 前提条件

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

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

    oc apply -f is-tombstone-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
31.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step is-tombstone-filter-action channel:mychannel
Copy to Clipboard Toggle word wrap

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

31.3.2. Kafka Action

您可以使用 is-tombstone-filter-action Kamelet 作为 Kafka 绑定中的中间步骤。

is-tombstone-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: is-tombstone-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: is-tombstone-filter-action
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

31.3.2.1. 先决条件

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

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

    oc apply -f is-tombstone-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
31.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step is-tombstone-filter-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

31.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/is-tombstone-filter-action.kamelet.yaml

第 32 章 JIRA Add Comment Sink

为 JIRA 中的现有问题添加新注释。

Kamelet 期望设置以下标头:

  • issueKey / ce-issueKey: 作为问题代码。

注释在邮件的正文中设置。

32.1. 配置选项

下表总结了 jira-add-comment-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

jiraUrl *

Jira URL

JIRA 实例的 URL

字符串

 

"http://my_jira.com:8081"

password 114

密码

访问 JIRA 的密码或 API 令牌

字符串

  

用户名

用户名

访问 JIRA 的用户名

字符串

  
注意

标记为星号的字段是必需的。

32.2. 依赖项

在运行时,jira-add-comment-sink Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:jackson
  • camel:jira
  • camel:kamelet
  • mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.4.redhat-00001

32.3. 使用方法

本节论述了如何使用 jira-add-comment-sink

32.3.1. Knative Sink

您可以通过将 jira-add-comment-sink Kamelet 绑定到 Knative 对象,来使用 jira-add-comment-sink Kamelet 作为 Knative sink。

jira-add-comment-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-add-comment-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueKey"
      value: "MYP-167"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

32.3.1.1. 前提条件

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

32.3.1.2. 使用集群 CLI 的步骤
  1. jira-add-comment-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-add-comment-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
32.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-add-comment-sink-binding timer-source?message="The new comment"\&period=60000 --step insert-header-action -p step-0.name=issueKey -p step-0.value=MYP-167 jira-add-comment-sink?password="password"\&username="username"\&jiraUrl="jira url"
Copy to Clipboard Toggle word wrap

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

32.3.2. Kafka Sink

您可以通过将 jira-add-comment-sink Kamelet 绑定到 Kafka 主题,使用 jira-add-comment-sink Kamelet 作为 Kafka sink。

jira-add-comment-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-add-comment-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueKey"
      value: "MYP-167"
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jira-add-comment-sink
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

32.3.2.1. 先决条件

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

32.3.2.2. 使用集群 CLI 的步骤
  1. jira-add-comment-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-add-comment-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
32.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-add-comment-sink-binding timer-source?message="The new comment"\&period=60000 --step insert-header-action -p step-0.name=issueKey -p step-0.value=MYP-167 jira-add-comment-sink?password="password"\&username="username"\&jiraUrl="jira url"
Copy to Clipboard Toggle word wrap

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

32.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jira-add-comment-sink.kamelet.yaml

第 33 章 JIRA 添加问题 Sink

为 JIRA 添加新问题。

Kamelet 期望设置以下标头:

  • projectKey / ce-projectKey: 作为 JIRA 项目密钥。
  • IssueTypeName / ce- issueTypeName : 作为问题类型的名称(例如: bug、Enhancement)。
  • issueSummary / ce-issueSummary: 作为问题标题或摘要。
  • issueAssignee / ce-issueAssignee: 以分配给此问题的用户身份(可选)。
  • issuePriorityName / ce-issuePriorityName: 作为问题的优先级名称(例如:Critical、Blocker、Trivial)(可选)。
  • issueComponents / ce-issueComponents: 作为带有有效组件名称(可选)的字符串列表。
  • 问题Description / ce-issueDescription: 作为问题描述(可选)。

问题描述可以从邮件正文或标头中 的问题Description/ce-issueDescription 设置,但正文具有优先权。

33.1. 配置选项

下表总结了 jira-add-issue-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

jiraUrl *

Jira URL

JIRA 实例的 URL

字符串

 

"http://my_jira.com:8081"

password 114

密码

访问 JIRA 的密码或 API 令牌

字符串

  

用户名

用户名

访问 JIRA 的用户名

字符串

  
注意

标记为星号的字段是必需的。

33.2. 依赖项

在运行时,jira-add-issue-sink Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:jackson
  • camel:jira
  • camel:kamelet
  • mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.4.redhat-00001

33.3. 使用方法

本节论述了如何使用 jira-add-issue-sink

33.3.1. Knative Sink

您可以通过将 jira-add-issue-sink Kamelet 绑定到 Knative 对象,来使用 jira-add-issue-sink Kamelet 作为 Knative sink。

jira-add-issue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-add-issue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "projectKey"
      value: "MYP"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueTypeName"
      value: "Bug"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueSummary"
      value: "The issue summary"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issuePriorityName"
      value: "Low"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

33.3.1.1. 前提条件

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

33.3.1.2. 使用集群 CLI 的步骤
  1. jira-add-issue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-add-issue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
33.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-add-issue-sink-binding timer-source?message="The new comment"\&period=60000 --step insert-header-action -p step-0.name=projectKey -p step-0.value=MYP --step insert-header-action -p step-1.name=issueTypeName -p step-1.value=Bug --step insert-header-action  -p step-2.name=issueSummary -p step-2.value="This is a bug" --step insert-header-action -p step-3.name=issuePriorityName -p step-3.value=Low jira-add-issue-sink?jiraUrl="jira url"\&username="username"\&password="password"
Copy to Clipboard Toggle word wrap

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

33.3.2. Kafka Sink

您可以通过将 jira-add-issue-sink Kamelet 绑定到 Kafka 主题,使用 jira-add-issue-sink Kamelet 作为 Kafka sink。

jira-add-issue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-add-issue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "projectKey"
      value: "MYP"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueTypeName"
      value: "Bug"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueSummary"
      value: "The issue summary"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issuePriorityName"
      value: "Low"
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jira-add-issue-sink
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

33.3.2.1. 先决条件

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

33.3.2.2. 使用集群 CLI 的步骤
  1. jira-add-issue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-add-issue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
33.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-add-issue-sink-binding timer-source?message="The new comment"\&period=60000 --step insert-header-action -p step-0.name=projectKey -p step-0.value=MYP --step insert-header-action -p step-1.name=issueTypeName -p step-1.value=Bug --step insert-header-action  -p step-2.name=issueSummary -p step-2.value="This is a bug" --step insert-header-action -p step-3.name=issuePriorityName -p step-3.value=Low jira-add-issue-sink?jiraUrl="jira url"\&username="username"\&password="password"
Copy to Clipboard Toggle word wrap

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

33.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jira-add-issue-sink.kamelet.yaml

第 34 章 JIRA Transition 问题 Sink

设置 JIRA 中现有问题的新状态(转换为)。

Kamelet 期望设置以下标头:

  • issueKey / ce-issueKey: 作为问题唯一代码。
  • issueTransitionId / ce-issueTransitionId: 作为新状态(转换)代码。您应该仔细检查项目工作流,因为每个转换可能会在进行转换前具有要检查的条件。

转换的注释在消息的正文中设置。

34.1. 配置选项

下表总结了 jira-transition-issue-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

jiraUrl *

Jira URL

JIRA 实例的 URL

字符串

 

"http://my_jira.com:8081"

password 114

密码

访问 JIRA 的密码或 API 令牌

字符串

  

用户名

用户名

访问 JIRA 的用户名

字符串

  
注意

标记为星号的字段是必需的。

34.2. 依赖项

在运行时,jira-transition-issue-sink Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:jackson
  • camel:jira
  • camel:kamelet
  • mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.4.redhat-00001

34.3. 使用方法

本节论述了如何使用 jira-transition-issue-sink

34.3.1. Knative Sink

您可以通过将 jira-transition-issue-sink Kamelet 绑定到 Knative 对象,使用 jira-transition-issue-sink Kamelet 作为 Knative sink。

jira-transition-issue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-transition-issue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueTransitionId"
      value: 701
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueKey"
      value: "MYP-162"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

34.3.1.1. 前提条件

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

34.3.1.2. 使用集群 CLI 的步骤
  1. jira-transition-issue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-transition-issue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
34.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-transition-issue-sink-binding timer-source?message="The new comment 123"\&period=60000 --step insert-header-action -p step-0.name=issueKey -p step-0.value=MYP-170 --step insert-header-action -p step-1.name=issueTransitionId -p step-1.value=5 jira-transition-issue-sink?jiraUrl="jira url"\&username="username"\&password="password"
Copy to Clipboard Toggle word wrap

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

34.3.2. Kafka Sink

您可以通过将 jira-transition-issue-sink Kamelet 绑定到 Kafka 主题,使用 jira-transition-issue-sink Kamelet 作为 Kafka sink。

jira-transition-issue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-transition-issue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueTransitionId"
      value: 701
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueKey"
      value: "MYP-162"
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jira-transition-issue-sink
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

34.3.2.1. 先决条件

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

34.3.2.2. 使用集群 CLI 的步骤
  1. jira-transition-issue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-transition-issue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
34.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-transition-issue-sink-binding timer-source?message="The new comment 123"\&period=60000 --step insert-header-action -p step-0.name=issueKey -p step-0.value=MYP-170 --step insert-header-action -p step-1.name=issueTransitionId -p step-1.value=5 jira-transition-issue-sink?jiraUrl="jira url"\&username="username"\&password="password"
Copy to Clipboard Toggle word wrap

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

34.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jira-transition-issue-sink.kamelet.yaml

第 35 章 JIRA 更新问题 Sink

更新 JIRA 中现有问题的字段。Kamelet 期望设置以下标头:

  • issueKey / ce-issueKey: 作为 JIRA 中的问题代码。
  • IssueTypeName / ce- issueTypeName : 作为问题类型的名称(例如: bug、Enhancement)。
  • issueSummary / ce-issueSummary: 作为问题标题或摘要。
  • issueAssignee / ce-issueAssignee: 以分配给此问题的用户身份(可选)。
  • issuePriorityName / ce-issuePriorityName: 作为问题的优先级名称(例如:Critical、Blocker、Trivial)(可选)。
  • issueComponents / ce-issueComponents: 作为带有有效组件名称(可选)的字符串列表。
  • 问题Description / ce-issueDescription: 作为问题描述(可选)。

问题描述可以从邮件正文或标头中 的问题Description/ce-issueDescription 设置,但正文具有优先权。

35.1. 配置选项

下表总结了 jira-update-issue-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

jiraUrl *

Jira URL

JIRA 实例的 URL

字符串

 

"http://my_jira.com:8081"

password 114

密码

访问 JIRA 的密码或 API 令牌

字符串

  

用户名

用户名

访问 JIRA 的用户名

字符串

  
注意

标记为星号的字段是必需的。

35.2. 依赖项

在运行时,jira-update-issue-sink Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:jackson
  • camel:jira
  • camel:kamelet
  • mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.4.redhat-00001

35.3. 使用方法

本节论述了如何使用 jira-update-issue-sink

35.3.1. Knative Sink

您可以通过将 jira-update-issue-sink Kamelet 绑定到 Knative 对象,来使用 jira-update-issue-sink Kamelet 作为 Knative sink。

jira-update-issue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-update-issue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueKey"
      value: "MYP-163"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueTypeName"
      value: "Bug"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueSummary"
      value: "The issue summary"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issuePriorityName"
      value: "Low"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

35.3.1.1. 前提条件

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

35.3.1.2. 使用集群 CLI 的步骤
  1. jira-update-issue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-update-issue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
35.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-update-issue-sink-binding timer-source?message="The new comment"\&period=60000 --step insert-header-action -p step-0.name=issueKey -p step-0.value=MYP-170 --step insert-header-action -p step-1.name=issueTypeName -p step-1.value=Story --step insert-header-action  -p step-2.name=issueSummary -p step-2.value="This is a story 123" --step insert-header-action -p step-3.name=issuePriorityName -p step-3.value=Highest jira-update-issue-sink?jiraUrl="jira url"\&username="username"\&password="password"
Copy to Clipboard Toggle word wrap

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

35.3.2. Kafka Sink

您可以通过将 jira-update-issue-sink Kamelet 绑定到 Kafka 主题,使用 jira-update-issue-sink Kamelet 作为 Kafka sink。

jira-update-issue-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-update-issue-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueKey"
      value: "MYP-163"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueTypeName"
      value: "Bug"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issueSummary"
      value: "The issue summary"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: insert-header-action
    properties:
      name: "issuePriorityName"
      value: "Low"
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jira-update-issue-sink
    properties:
      jiraUrl: "jira server url"
      username: "username"
      password: "password"
Copy to Clipboard Toggle word wrap

35.3.2.1. 先决条件

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

35.3.2.2. 使用集群 CLI 的步骤
  1. jira-update-issue-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jira-update-issue-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
35.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jira-update-issue-sink-binding timer-source?message="The new comment"\&period=60000 --step insert-header-action -p step-0.name=issueKey -p step-0.value=MYP-170 --step insert-header-action -p step-1.name=issueTypeName -p step-1.value=Story --step insert-header-action  -p step-2.name=issueSummary -p step-2.value="This is a story 123" --step insert-header-action -p step-3.name=issuePriorityName -p step-3.value=Highest jira-update-issue-sink?jiraUrl="jira url"\&username="username"\&password="password"
Copy to Clipboard Toggle word wrap

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

35.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jira-update-issue-sink.kamelet.yaml

第 36 章 JIRA Source

从 JIRA 接收有关新问题的通知。

36.1. 配置选项

下表总结了 jira-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

jiraUrl *

Jira URL

JIRA 实例的 URL

字符串

 

"http://my_jira.com:8081"

password 114

密码

访问 JIRA 的密码

字符串

  

用户名

用户名

访问 JIRA 的用户名

字符串

  

jql

JQL

过滤问题的查询

字符串

 

"project=MyProject"

注意

标记为星号的字段是必需的。

36.2. 依赖项

在运行时,jira-source Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:jira

36.3. 使用方法

这部分论述了如何使用 jira-source

36.3.1. Knative Source

您可以通过将 jira-source Kamelet 绑定到 Knative 对象,将 jira-source Kamelet 用作 Knative 源。

jira-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jira-source
    properties:
      jiraUrl: "http://my_jira.com:8081"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

36.3.1.1. 前提条件

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

36.3.1.2. 使用集群 CLI 的步骤
  1. jira-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f jira-source-binding.yaml
    Copy to Clipboard Toggle word wrap
36.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind jira-source -p "source.jiraUrl=http://my_jira.com:8081" -p "source.password=The Password" -p "source.username=The Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

36.3.2. Kafka 源

您可以通过将 jira-source Kamelet 绑定到 Kafka 主题,将 jira-source Kamelet 用作 Kafka 源。

jira-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jira-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jira-source
    properties:
      jiraUrl: "http://my_jira.com:8081"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

36.3.2.1. 先决条件

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

36.3.2.2. 使用集群 CLI 的步骤
  1. jira-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f jira-source-binding.yaml
    Copy to Clipboard Toggle word wrap
36.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind jira-source -p "source.jiraUrl=http://my_jira.com:8081" -p "source.password=The Password" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

36.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jira-source.kamelet.yaml

第 37 章 JMS - AMQP 1.0 Kamelet Sink

一个 Kamelet,它可使用 Apacheqpid JMS 客户端将事件生成到任何 AMQP 1.0 兼容消息代理

37.1. 配置选项

下表总结了 jms-amqp-10-sink Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

destinationName *

目标名称

JMS 目的地名称

字符串

  

remoteURI *

代理 URL

JMS URL

字符串

 

"amqp://my-host:31616"

destinationType

目标类型

JMS 目标类型(例如:队列或主题)

字符串

"queue"

 
注意

标记为星号的字段是必需的。

37.2. 依赖项

在运行时,jms-amqp-10-sink Kamelet 依赖于以下依赖项:

  • camel:jms
  • camel:kamelet
  • mvn:org.apache.qpid:qpid-jms-client:0.55.0

37.3. 使用方法

本节论述了如何使用 jms-amqp-10-sink

37.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 jms-amqp-10-sink Kamelet 作为 Knative sink。

jms-amqp-10-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-amqp-10-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-amqp-10-sink
    properties:
      destinationName: "The Destination Name"
      remoteURI: "amqp://my-host:31616"
Copy to Clipboard Toggle word wrap

37.3.1.1. 前提条件

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

37.3.1.2. 使用集群 CLI 的步骤
  1. jms-amqp-10-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jms-amqp-10-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
37.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel jms-amqp-10-sink -p "sink.destinationName=The Destination Name" -p "sink.remoteURI=amqp://my-host:31616"
Copy to Clipboard Toggle word wrap

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

37.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 jms-amqp-10-sink Kamelet 作为 Kafka sink。

jms-amqp-10-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-amqp-10-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-amqp-10-sink
    properties:
      destinationName: "The Destination Name"
      remoteURI: "amqp://my-host:31616"
Copy to Clipboard Toggle word wrap

37.3.2.1. 先决条件

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

37.3.2.2. 使用集群 CLI 的步骤
  1. jms-amqp-10-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jms-amqp-10-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
37.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic jms-amqp-10-sink -p "sink.destinationName=The Destination Name" -p "sink.remoteURI=amqp://my-host:31616"
Copy to Clipboard Toggle word wrap

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

37.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jms-amqp-10-sink.kamelet.yaml

第 38 章 JMS - AMQP 1.0 Kamelet Source

一个 Kamelet,它可以使用 Apacheqpid JMS 客户端使用来自任何 AMQP 1.0 兼容消息代理的事件

38.1. 配置选项

下表总结了 jms-amqp-10-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

destinationName *

目标名称

JMS 目的地名称

字符串

  

remoteURI *

代理 URL

JMS URL

字符串

 

"amqp://my-host:31616"

destinationType

目标类型

JMS 目标类型(例如:队列或主题)

字符串

"queue"

 
注意

标记为星号的字段是必需的。

38.2. 依赖项

在运行时,jms-amqp-10-source Kamelet 依赖于以下依赖项:

  • camel:jms
  • camel:kamelet
  • mvn:org.apache.qpid:qpid-jms-client:0.55.0

38.3. 使用方法

本节论述了如何使用 jms-amqp-10-source

38.3.1. Knative Source

您可以通过将 jms-amqp-10-source Kamelet 绑定到 Knative 对象,将 jms-amqp-10-source Kamelet 用作 Knative 源。

jms-amqp-10-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-amqp-10-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-amqp-10-source
    properties:
      destinationName: "The Destination Name"
      remoteURI: "amqp://my-host:31616"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

38.3.1.1. 前提条件

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

38.3.1.2. 使用集群 CLI 的步骤
  1. jms-amqp-10-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f jms-amqp-10-source-binding.yaml
    Copy to Clipboard Toggle word wrap
38.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind jms-amqp-10-source -p "source.destinationName=The Destination Name" -p "source.remoteURI=amqp://my-host:31616" channel:mychannel
Copy to Clipboard Toggle word wrap

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

38.3.2. Kafka 源

您可以通过将 jms-amqp-10-source Kamelet 绑定到 Kafka 主题,使用 jms-amqp-10-source Kamelet 作为 Kafka 源。

jms-amqp-10-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-amqp-10-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-amqp-10-source
    properties:
      destinationName: "The Destination Name"
      remoteURI: "amqp://my-host:31616"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

38.3.2.1. 先决条件

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

38.3.2.2. 使用集群 CLI 的步骤
  1. jms-amqp-10-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f jms-amqp-10-source-binding.yaml
    Copy to Clipboard Toggle word wrap
38.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind jms-amqp-10-source -p "source.destinationName=The Destination Name" -p "source.remoteURI=amqp://my-host:31616" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

38.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jms-amqp-10-source.kamelet.yaml

第 39 章 JMS - IBM MQ Kamelet Sink

Kamelet,可以使用 JMS 向 IBM MQ 消息队列生成事件。

39.1. 配置选项

下表总结了 jms-ibm-mq-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

频道

IBM MQ Channel

IBM MQ 频道的名称

字符串

  

destinationName *

目标名称

目标名称

字符串

  

password 114

密码

向 IBM MQ 服务器进行身份验证的密码

字符串

  

queueManager *

IBM MQ Queue Manager

IBM MQ Queue Manager 的名称

字符串

  

serverName *

IBM MQ 服务器名称

IBM MQ Server 名称或地址

字符串

  

serverPort *

IBM MQ 服务器端口

IBM MQ 服务器端口

整数

1414

 

用户名

用户名

用于向 IBM MQ 服务器进行身份验证的用户名

字符串

  

clientId

IBM MQ 客户端 ID

IBM MQ 客户端 ID 的名称

字符串

  

destinationType

目标类型

JMS 目标类型(queue 或 topic)

字符串

"queue"

 
注意

标记为星号的字段是必需的。

39.2. 依赖项

在运行时,jms-ibm-mq-sink Kamelet 依赖于以下依赖项:

  • camel:jms
  • camel:kamelet
  • mvn:com.ibm.mq:com.ibm.mq.allclient:9.2.5.0

39.3. 使用方法

本节论述了如何使用 jms-ibm-mq-sink

39.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 jms-ibm-mq-sink Kamelet 作为 Knative sink。

jms-ibm-mq-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-ibm-mq-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
    properties:
      serverName: "10.103.41.245"
      serverPort: "1414"
      destinationType: "queue"
      destinationName: "DEV.QUEUE.1"
      queueManager: QM1
      channel: DEV.APP.SVRCONN
      username: app
      password: passw0rd
Copy to Clipboard Toggle word wrap

39.3.1.1. 前提条件

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

39.3.1.2. 使用集群 CLI 的步骤
  1. jms-ibm-mq-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jms-ibm-mq-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
39.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jms-ibm-mq-sink-binding timer-source?message="Hello IBM MQ!" 'jms-ibm-mq-sink?serverName=10.103.41.245&serverPort=1414&destinationType=queue&destinationName=DEV.QUEUE.1&queueManager=QM1&channel=DEV.APP.SVRCONN&username=app&password=passw0rd'
Copy to Clipboard Toggle word wrap

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

39.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 jms-ibm-mq-sink Kamelet 作为 Kafka sink。

jms-ibm-mq-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-ibm-mq-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-ibm-mq-sink
    properties:
      serverName: "10.103.41.245"
      serverPort: "1414"
      destinationType: "queue"
      destinationName: "DEV.QUEUE.1"
      queueManager: QM1
      channel: DEV.APP.SVRCONN
      username: app
      password: passw0rd
Copy to Clipboard Toggle word wrap

39.3.2.1. 先决条件

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

39.3.2.2. 使用集群 CLI 的步骤
  1. jms-ibm-mq-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f jms-ibm-mq-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
39.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jms-ibm-mq-sink-binding timer-source?message="Hello IBM MQ!" 'jms-ibm-mq-sink?serverName=10.103.41.245&serverPort=1414&destinationType=queue&destinationName=DEV.QUEUE.1&queueManager=QM1&channel=DEV.APP.SVRCONN&username=app&password=passw0rd'
Copy to Clipboard Toggle word wrap

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

39.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jms-ibm-mq-sink.kamelet.yaml

第 40 章 JMS - IBM MQ Kamelet Source

Kamelet,可以使用 JMS 从 IBM MQ 消息队列中读取事件。

40.1. 配置选项

下表总结了 jms-ibm-mq-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

频道

IBM MQ Channel

IBM MQ 频道的名称

字符串

  

destinationName *

目标名称

目标名称

字符串

  

password 114

密码

向 IBM MQ 服务器进行身份验证的密码

字符串

  

queueManager *

IBM MQ Queue Manager

IBM MQ Queue Manager 的名称

字符串

  

serverName *

IBM MQ 服务器名称

IBM MQ Server 名称或地址

字符串

  

serverPort *

IBM MQ 服务器端口

IBM MQ 服务器端口

整数

1414

 

用户名

用户名

用于向 IBM MQ 服务器进行身份验证的用户名

字符串

  

clientId

IBM MQ 客户端 ID

IBM MQ 客户端 ID 的名称

字符串

  

destinationType

目标类型

JMS 目标类型(queue 或 topic)

字符串

"queue"

 
注意

标记为星号的字段是必需的。

40.2. 依赖项

在运行时,jms-ibm-mq-source Kamelet 依赖于以下依赖项:

  • camel:jms
  • camel:kamelet
  • mvn:com.ibm.mq:com.ibm.mq.allclient:9.2.5.0

40.3. 使用方法

本节论述了如何使用 jms-ibm-mq-source

40.3.1. Knative Source

您可以通过将 jms-ibm-mq-source Kamelet 绑定到 Knative 对象,使用 jms-ibm-mq-source Kamelet 作为 Knative 源。

jms-ibm-mq-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-ibm-mq-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-ibm-mq-source
    properties:
      serverName: "10.103.41.245"
      serverPort: "1414"
      destinationType: "queue"
      destinationName: "DEV.QUEUE.1"
      queueManager: QM1
      channel: DEV.APP.SVRCONN
      username: app
      password: passw0rd
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

40.3.1.1. 前提条件

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

40.3.1.2. 使用集群 CLI 的步骤
  1. jms-ibm-mq-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f jms-ibm-mq-source-binding.yaml
    Copy to Clipboard Toggle word wrap
40.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jms-ibm-mq-source-binding 'jms-ibm-mq-source?serverName=10.103.41.245&serverPort=1414&destinationType=queue&destinationName=DEV.QUEUE.1&queueManager=QM1&channel=DEV.APP.SVRCONN&username=app&password=passw0rd' channel:mychannel
Copy to Clipboard Toggle word wrap

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

40.3.2. Kafka 源

您可以通过将 jms-ibm-mq-source Kamelet 绑定到 Kafka 主题,使用 jms-ibm-mq-source Kamelet 作为 Kafka 源。

jms-ibm-mq-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jms-ibm-mq-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jms-ibm-mq-source
    properties:
      serverName: "10.103.41.245"
      serverPort: "1414"
      destinationType: "queue"
      destinationName: "DEV.QUEUE.1"
      queueManager: QM1
      channel: DEV.APP.SVRCONN
      username: app
      password: passw0rd
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

40.3.2.1. 先决条件

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

40.3.2.2. 使用集群 CLI 的步骤
  1. jms-ibm-mq-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f jms-ibm-mq-source-binding.yaml
    Copy to Clipboard Toggle word wrap
40.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name jms-ibm-mq-source-binding 'jms-ibm-mq-source?serverName=10.103.41.245&serverPort=1414&destinationType=queue&destinationName=DEV.QUEUE.1&queueManager=QM1&channel=DEV.APP.SVRCONN&username=app&password=passw0rd' kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

40.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/jms-ibm-mq-source.kamelet.yaml

第 41 章 JSLT Action

对 JSON 应用 JSLT 查询或转换。

41.1. 配置选项

下表总结了 jslt-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

Template 114

模板

JSLT Transformation 的内联模板

字符串

 

"file://template.json"

注意

标记为星号的字段是必需的。

41.2. 依赖项

在运行时,jslt-action Kamelet 依赖于以下依赖项:

  • camel:jslt
  • camel:kamelet

41.3. 使用方法

本节论述了如何使用 jslt-action

41.3.1. Knative Action

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

jslt-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jslt-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: {"foo" : "bar"}
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jslt-action
    properties:
      template: "file://template.json"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

41.3.1.1. 前提条件

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

41.3.1.2. 使用集群 CLI 的步骤
  1. jslt-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f jslt-action-binding.yaml
    Copy to Clipboard Toggle word wrap
41.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step jslt-action -p "step-0.template=file://template.json" channel:mychannel
Copy to Clipboard Toggle word wrap

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

如果模板指向不在当前目录中的文件,如果使用 file://classpath://,请使用 secret 或 configmap 提供转换。

要查看示例,请参阅使用 secretconfigmap。有关必要特征的详情,请参阅 Mount traitJVM 类路径特征

41.3.2. Kafka Action

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

jslt-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: jslt-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: {"foo" : "bar"}
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: jslt-action
    properties:
      template: "file://template.json"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

41.3.2.1. 先决条件

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

41.3.2.2. 使用集群 CLI 的步骤
  1. jslt-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f jslt-action-binding.yaml
    Copy to Clipboard Toggle word wrap
41.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step jslt-action -p "step-0.template=file://template.json" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

41.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/blob/main/jslt-action.kamelet.yaml

第 42 章 JSON 反序列化操作

将反序列化有效负载反序列化为 JSON

42.1. 配置选项

json-deserialize-action Kamelet 没有指定任何配置选项。

42.2. 依赖项

在运行时,json-deserialize-action Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:core
  • camel:jackson

42.3. 使用方法

本节论述了如何使用 json-deserialize-action

42.3.1. Knative Action

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

json-deserialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: json-deserialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

42.3.1.1. 前提条件

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

42.3.1.2. 使用集群 CLI 的步骤
  1. json-deserialize-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f json-deserialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
42.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step json-deserialize-action channel:mychannel
Copy to Clipboard Toggle word wrap

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

42.3.2. Kafka Action

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

json-deserialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: json-deserialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-deserialize-action
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

42.3.2.1. 先决条件

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

42.3.2.2. 使用集群 CLI 的步骤
  1. json-deserialize-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f json-deserialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
42.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step json-deserialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

42.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/json-deserialize-action.kamelet.yaml

第 43 章 JSON Serialize Action

将序列化有效负载序列化为 JSON

43.1. 配置选项

json-serialize-action Kamelet 没有指定任何配置选项。

43.2. 依赖项

在运行时,json-serialize-action Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:core
  • camel:jackson

43.3. 使用方法

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

43.3.1. Knative Action

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

json-serialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: json-serialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-serialize-action
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

43.3.1.1. 前提条件

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

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

    oc apply -f json-serialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
43.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step json-serialize-action channel:mychannel
Copy to Clipboard Toggle word wrap

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

43.3.2. Kafka Action

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

json-serialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: json-serialize-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: json-serialize-action
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

43.3.2.1. 先决条件

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

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

    oc apply -f json-serialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
43.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step json-serialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

43.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/json-serialize-action.kamelet.yaml

第 44 章 Kafka Sink

将数据发送到 Kafka 主题。

Kamelet 能够了解要设置的以下标头:

  • Key / ce-key: as message key
  • partition-key / ce-partitionkey: 作为消息分区键

这两个标头都是可选的。

44.1. 配置选项

下表总结了 kafka-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

bootstrapServers *

代理(Broker)

Kafka Broker URL 的逗号分隔列表

字符串

  

password 114

密码

向 kafka 进行身份验证的密码

字符串

  

topic 114

主题名称

Kafka 主题名称的逗号分隔列表

字符串

  

用户

用户名

要向 Kafka 进行身份验证的用户名

字符串

  

saslMechanism

SASL 机制

使用简单验证和安全层(SASL)机制。

字符串

"PLAIN"

 

securityProtocol

安全协议

用于与代理通信的协议。支持 SASL_PLAINTEXT, PLAINTEXT, SASL_SSL 和 SSL

字符串

"SASL_SSL"

 
注意

标记为星号的字段是必需的。

44.2. 依赖项

在运行时,'kafka-sink Kamelet 依赖于以下依赖项:

  • camel:kafka
  • camel:kamelet

44.3. 使用方法

本节论述了如何使用 kafka-sink

44.3.1. Knative Sink

您可以通过将 kafka-sink Kamelet 绑定到 Knative 对象,将 kafka-sink Kamelet 用作 Knative sink。

kafka-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: kafka-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: kafka-sink
    properties:
      bootstrapServers: "The Brokers"
      password: "The Password"
      topic: "The Topic Names"
      user: "The Username"
Copy to Clipboard Toggle word wrap

44.3.1.1. 前提条件

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

44.3.1.2. 使用集群 CLI 的步骤
  1. kafka-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f kafka-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
44.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel kafka-sink -p "sink.bootstrapServers=The Brokers" -p "sink.password=The Password" -p "sink.topic=The Topic Names" -p "sink.user=The Username"
Copy to Clipboard Toggle word wrap

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

44.3.2. Kafka Sink

您可以通过将 kafka-sink Kamelet 绑定到 Kafka 主题,将 kafka-sink Kamelet 用作 Kafka sink。

kafka-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: kafka-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: kafka-sink
    properties:
      bootstrapServers: "The Brokers"
      password: "The Password"
      topic: "The Topic Names"
      user: "The Username"
Copy to Clipboard Toggle word wrap

44.3.2.1. 先决条件

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

44.3.2.2. 使用集群 CLI 的步骤
  1. kafka-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f kafka-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
44.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic kafka-sink -p "sink.bootstrapServers=The Brokers" -p "sink.password=The Password" -p "sink.topic=The Topic Names" -p "sink.user=The Username"
Copy to Clipboard Toggle word wrap

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

44.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/kafka-sink.kamelet.yaml

第 45 章 Kafka 源

从 Kafka 主题接收数据。

45.1. 配置选项

下表总结了 kafka-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

topic 114

主题名称

Kafka 主题名称的逗号分隔列表

字符串

  

bootstrapServers *

代理(Broker)

Kafka Broker URL 的逗号分隔列表

字符串

  

securityProtocol

安全协议

用于与代理通信的协议。支持 SASL_PLAINTEXT, PLAINTEXT, SASL_SSL 和 SSL

字符串

"SASL_SSL"

 

saslMechanism

SASL 机制

使用简单验证和安全层(SASL)机制。

字符串

"PLAIN"

 

用户

用户名

要向 Kafka 进行身份验证的用户名

字符串

  

password 114

密码

向 kafka 进行身份验证的密码

字符串

  

autoCommitEnable

auto Commit Enable

如果为 true,请定期提交到 ZooKeeper,以偏移已由消费者获取的信息。

布尔值

true

 

allowManualCommit

允许手动提交

是否允许手动提交

布尔值

false

 

autoOffsetReset

自动偏移重置

在没有初始偏移时,要做什么。有 3 个 enums,值可以是 latest, earliest, none 之一

字符串

"latest"

 

pollOnError

轮询错误行为

如果 kafka 在轮询新消息时异常,则该怎么办。有 5 个枚举,值可以是 DISCARD、ERROR_HANDLER、RECONNECT、RETRY、STOP 之一

字符串

"ERROR_HANDLER"

 

deserializeHeaders

自动反序列化标头

当启用 Kamelet 源时,所有消息标头将反序列化为 String 表示。默认值为 false

布尔值

true

 

consumerGroup

消费者组

唯一标识此源所属的消费者组的字符串

字符串

 

"my-group-id"

注意

标记为星号的字段是必需的。

45.2. 依赖项

在运行时,'kafka-source Kamelet 依赖于以下依赖项:

  • camel:kafka
  • camel:kamelet
  • camel:core

45.3. 使用方法

本节论述了如何使用 kafka-source

45.3.1. Knative Source

您可以通过将 kafka-source Kamelet 绑定到 Knative 对象,将 kafka-source Kamelet 用作 Knative 源。

kafka-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: kafka-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: kafka-source
    properties:
      bootstrapServers: "The Brokers"
      password: "The Password"
      topic: "The Topic Names"
      user: "The Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

45.3.1.1. 前提条件

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

45.3.1.2. 使用集群 CLI 的步骤
  1. kafka-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f kafka-source-binding.yaml
    Copy to Clipboard Toggle word wrap
45.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka-source -p "source.bootstrapServers=The Brokers" -p "source.password=The Password" -p "source.topic=The Topic Names" -p "source.user=The Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

45.3.2. Kafka 源

您可以通过将 kafka-source Kamelet 绑定到 Kafka 主题,将 kafka-source Kamelet 用作 Kafka 源。

kafka-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: kafka-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: kafka-source
    properties:
      bootstrapServers: "The Brokers"
      password: "The Password"
      topic: "The Topic Names"
      user: "The Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

45.3.2.1. 先决条件

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

45.3.2.2. 使用集群 CLI 的步骤
  1. kafka-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f kafka-source-binding.yaml
    Copy to Clipboard Toggle word wrap
45.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka-source -p "source.bootstrapServers=The Brokers" -p "source.password=The Password" -p "source.topic=The Topic Names" -p "source.user=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

45.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/kafka-source.kamelet.yaml

第 46 章 Kafka 主题名称匹配操作

与 regex 相比,基于 kafka 主题值过滤

46.1. 配置选项

下表总结了 topic-name-matches-filter-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

regex 114

regex

Regex to Evaluate to Evaluate to the Kafka topic name

字符串

  
注意

标记为星号的字段是必需的。

46.2. 依赖项

在运行时,topic-name-matches-filter-action Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:kamelet

46.3. 使用方法

本节论述了如何使用 topic-name-matches-filter-action

46.3.1. Kafka Action

您可以使用 topic-name-matches-filter-action Kamelet 作为 Kafka 绑定中的中间步骤。

topic-name-matches-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: topic-name-matches-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: topic-name-matches-filter-action
    properties:
      regex: "The Regex"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

46.3.1.1. 先决条件

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

46.3.1.2. 使用集群 CLI 的步骤
  1. topic-name-matches-filter-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f topic-name-matches-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
46.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step topic-name-matches-filter-action -p "step-0.regex=The Regex" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

46.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/topic-name-matches-filter-action.kamelet.yaml

第 47 章 日志 Sink

记录接收的所有数据的接收器,用于调试目的。

47.1. 配置选项

下表总结了 log-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

showHeaders

显示标头

显示收到的标头

布尔值

false

 

showStreams

显示流

显示流正文(它们在以下步骤中可能不可用)

布尔值

false

 
注意

标记为星号的字段是必需的。

47.2. 依赖项

在运行时,log-sink Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:log

47.3. 使用方法

本节论述了如何使用 log-sink

47.3.1. Knative Sink

您可以通过将 log-sink Kamelet 绑定到 Knative 对象,将 log-sink Kamelet 用作 Knative sink。

log-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: log-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: log-sink
Copy to Clipboard Toggle word wrap

47.3.1.1. 前提条件

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

47.3.1.2. 使用集群 CLI 的步骤
  1. log-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f log-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
47.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel log-sink
Copy to Clipboard Toggle word wrap

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

47.3.2. Kafka Sink

您可以通过将 log-sink Kamelet 绑定到 Kafka 主题,将 log-sink Kamelet 用作 Kafka sink。

log-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: log-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: log-sink
Copy to Clipboard Toggle word wrap

47.3.2.1. 先决条件

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

47.3.2.2. 使用集群 CLI 的步骤
  1. log-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f log-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
47.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic log-sink
Copy to Clipboard Toggle word wrap

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

47.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/log-sink.kamelet.yaml

第 48 章 MariaDB Sink

将数据发送到 MariaDB 数据库。

这个 Kamelet 需要 JSON 作为正文。JSON 字段和参数之间的映射由键完成,因此如果您有以下查询:

'INSERT INTO 帐户(username,city) VALUES (: the username,:öcity)'

Kamelet 需要以输入方式接收,如下所示:

'{ "username":"oscerd", "city":"Rome"}'

48.1. 配置选项

下表总结了 mariadb-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

databaseName *

数据库名称

我们所指向的数据库名称

字符串

  

password 114

密码

用于访问安全 MariaDB 数据库的密码

字符串

  

查询

查询

针对 MariaDB 数据库执行的 Query

字符串

 

"INSERT INTO 帐户(username,city) VALUES (:114username,:öcity) "

serverName *

服务器名称

数据源的服务器名称

字符串

 

"localhost"

用户名

用户名

用于访问安全 MariaDB 数据库的用户名

字符串

  

serverPort

服务器端口

数据源的服务器端口

字符串

3306

 
注意

标记为星号的字段是必需的。

48.2. 依赖项

在运行时,mariadb-sink Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:sql
  • mvn:org.apache.commons:commons-dbcp2:2.7.0.redhat-00001
  • mvn:org.mariadb.jdbc:mariadb-java-client

48.3. 使用方法

本节论述了如何使用 mariadb-sink

48.3.1. Knative Sink

您可以通过将 mariadb-sink Kamelet 绑定到 Knative 对象,将 mariadb-sink Kamelet 用作 Knative sink。

mariadb-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mariadb-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mariadb-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

48.3.1.1. 前提条件

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

48.3.1.2. 使用集群 CLI 的步骤
  1. mariadb-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f mariadb-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
48.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

48.3.2. Kafka Sink

您可以通过将 mariadb-sink Kamelet 绑定到 Kafka 主题,将 mariadb-sink Kamelet 用作 Kafka sink。

mariadb-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mariadb-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mariadb-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

48.3.2.1. 先决条件

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

48.3.2.2. 使用集群 CLI 的步骤
  1. mariadb-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f mariadb-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
48.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

48.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/mariadb-sink.kamelet.yaml

第 49 章 掩码字段操作

在传输中带有常量值的掩码字段

49.1. 配置选项

下表总结了用于 mask-field-action Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

字段

fields

要屏蔽的以逗号分隔的字段列表

字符串

  

替换

替换

替换要屏蔽的字段

字符串

  
注意

标记为星号的字段是必需的。

49.2. 依赖项

在运行时,mask-field-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:jackson
  • camel:kamelet
  • camel:core

49.3. 使用方法

这部分论述了如何使用 mask-field-action

49.3.1. Knative Action

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

mask-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mask-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mask-field-action
    properties:
      fields: "The Fields"
      replacement: "The Replacement"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

49.3.1.1. 前提条件

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

49.3.1.2. 使用集群 CLI 的步骤
  1. mask-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f mask-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
49.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step mask-field-action -p "step-0.fields=The Fields" -p "step-0.replacement=The Replacement" channel:mychannel
Copy to Clipboard Toggle word wrap

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

49.3.2. Kafka Action

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

mask-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mask-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mask-field-action
    properties:
      fields: "The Fields"
      replacement: "The Replacement"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

49.3.2.1. 先决条件

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

49.3.2.2. 使用集群 CLI 的步骤
  1. mask-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f mask-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
49.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step mask-field-action -p "step-0.fields=The Fields" -p "step-0.replacement=The Replacement" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

49.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/mask-field-action.kamelet.yaml

第 50 章 Message Timestamp Router Action

更新 topic 字段,作为原始主题名称和记录的 timestamp 字段的功能。

50.1. 配置选项

下表总结了 message-timestamp-router-action Kamelet 的可用选项:

Expand
属性名称描述类型默认示例

timestampKeys *

时间戳键

以逗号分隔的 Timestamp 键列表。时间戳从第一个找到的字段获取。

字符串

  

timestampFormat

时间戳格式

与 java.text.SimpleDateFormat 兼容的时间戳的格式字符串。

字符串

"yyyyMMdd"

 

timestampKeyFormat

时间戳键格式

时间戳键的格式。可能的值有 'timestamp' 或与 java.text.SimpleDateFormat 兼容的时间戳的格式字符串。如果是 'timestamp',该字段将从 1970 起评估为毫秒,因此作为 UNIX Timestamp。

字符串

"timestamp"

 

topicFormat

主题格式

格式字符串,分别可以包含 '$[topic]' 和 '$[timestamp]' 作为主题和时间戳的占位符。

字符串

"topic-$[timestamp]"

 
注意

标记为星号的字段是必需的。

50.2. 依赖项

在运行时,message-timestamp-router-action Kamelet 依赖于以下依赖项:

  • mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
  • camel:jackson
  • camel:kamelet
  • camel:core

50.3. 使用方法

本节论述了如何使用 message-timestamp-router-action

50.3.1. Knative Action

您可以在 Knative 绑定中使用 message-timestamp-router-action Kamelet 作为中间步骤。

message-timestamp-router-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: message-timestamp-router-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: message-timestamp-router-action
    properties:
      timestampKeys: "The Timestamp Keys"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

50.3.1.1. 前提条件

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

50.3.1.2. 使用集群 CLI 的步骤
  1. message-timestamp-router-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f message-timestamp-router-action-binding.yaml
    Copy to Clipboard Toggle word wrap
50.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step message-timestamp-router-action -p "step-0.timestampKeys=The Timestamp Keys" channel:mychannel
Copy to Clipboard Toggle word wrap

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

50.3.2. Kafka Action

您可以在 Kafka 绑定中使用 message-timestamp-router-action Kamelet 作为中间步骤。

message-timestamp-router-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: message-timestamp-router-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: message-timestamp-router-action
    properties:
      timestampKeys: "The Timestamp Keys"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

50.3.2.1. 先决条件

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

50.3.2.2. 使用集群 CLI 的步骤
  1. message-timestamp-router-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f message-timestamp-router-action-binding.yaml
    Copy to Clipboard Toggle word wrap
50.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step message-timestamp-router-action -p "step-0.timestampKeys=The Timestamp Keys" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

50.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/message-timestamp-router-action.kamelet.yaml

第 51 章 MongoDB Sink

将文档发送到 MongoDB。

这个 Kamelet 需要 JSON 作为正文。

您可以设置为标头的属性:

  • db-upsert / ce-dbupsert :如果数据库应该创建元素(如果不存在)。布尔值。

51.1. 配置选项

下表总结了 mongodb-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

collection bang

MongoDB Collection

设置 MongoDB 集合的名称,以绑定到此端点。

字符串

  

数据库

MongoDB Database

将 MongoDB 数据库的名称设置为 target。

字符串

  

Host 114

MongoDB Hosts

以 host:port 格式以逗号分隔的 MongoDB 主机地址列表。

字符串

  

createCollection

集合

如果集合不存在,在初始过程中创建集合。

布尔值

false

 

password

MongoDB 密码

用于访问 MongoDB 的用户密码。

字符串

  

username

MongoDB Username

用于访问 MongoDB 的用户名。

字符串

  

writeConcern

写入 Concern

为写入操作配置来自 MongoDB 请求的确认级别,可能的值为 ACKNOWLEDGED, W1, W2, W3, UNACKNOWLEDGED, JOURNALED, MAJORITY。

字符串

  
注意

标记为星号的字段是必需的。

51.2. 依赖项

在运行时,mongodb-sink Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:mongodb
  • camel:jackson

51.3. 使用方法

本节论述了如何使用 mongodb-sink

51.3.1. Knative Sink

您可以通过将 mongodb-sink Kamelet 绑定到 Knative 对象,使用 mongodb-sink Kamelet 作为 Knative sink。

mongodb-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mongodb-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mongodb-sink
    properties:
      collection: "The MongoDB Collection"
      database: "The MongoDB Database"
      hosts: "The MongoDB Hosts"
Copy to Clipboard Toggle word wrap

51.3.1.1. 前提条件

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

51.3.1.2. 使用集群 CLI 的步骤
  1. mongodb-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f mongodb-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
51.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel mongodb-sink -p "sink.collection=The MongoDB Collection" -p "sink.database=The MongoDB Database" -p "sink.hosts=The MongoDB Hosts"
Copy to Clipboard Toggle word wrap

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

51.3.2. Kafka Sink

您可以通过将 mongodb-sink Kamelet 绑定到 Kafka 主题,使用 mongodb-sink Kamelet 作为 Kafka sink。

mongodb-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mongodb-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mongodb-sink
    properties:
      collection: "The MongoDB Collection"
      database: "The MongoDB Database"
      hosts: "The MongoDB Hosts"
Copy to Clipboard Toggle word wrap

51.3.2.1. 先决条件

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

51.3.2.2. 使用集群 CLI 的步骤
  1. mongodb-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f mongodb-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
51.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mongodb-sink -p "sink.collection=The MongoDB Collection" -p "sink.database=The MongoDB Database" -p "sink.hosts=The MongoDB Hosts"
Copy to Clipboard Toggle word wrap

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

51.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/mongodb-sink.kamelet.yaml

第 52 章 MongoDB Source

使用 MongoDB 中的文档。

如果启用了 persistentTailTracking 选项,使用者将跟踪最后使用的消息以及下一次重启时,消耗将从该消息重启。如果启用了 persistentTailTracking,则必须提供 tailTrackIncreasingField (默认为可选)。

如果没有启用 persistentTailTracking 选项,使用者将使用整个集合并等待空闲新的文档使用。

52.1. 配置选项

下表总结了 mongodb-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

collection bang

MongoDB Collection

设置 MongoDB 集合的名称,以绑定到此端点。

字符串

  

数据库

MongoDB Database

将 MongoDB 数据库的名称设置为 target。

字符串

  

Host 114

MongoDB Hosts

以 host:port 格式以逗号分隔的 MongoDB 主机地址列表。

字符串

  

password 114

MongoDB 密码

用于访问 MongoDB 的用户密码。

字符串

  

用户名

MongoDB Username

用于访问 MongoDB 的用户名。用户名必须存在于 MongoDB 的身份验证数据库中(authenticationDatabase)。默认情况下,MongoDB authenticationDatabase 是 'admin'。

字符串

  

persistentTailTracking

MongoDB Persistent Tail Tracking

启用持久的尾部跟踪,这是在系统重启后跟踪最后一次消耗的消息的机制。下次系统启动时,端点将从最后停止记录的点恢复光标。

布尔值

false

 

tailTrackIncreasingField

MongoDB Tail Track Increasing 字段

传入记录中的关联字段是增加的,将在每次生成时都用于定位尾部光标。

字符串

  
注意

标记为星号的字段是必需的。

52.2. 依赖项

在运行时,mongodb-source Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:mongodb
  • camel:jackson

52.3. 使用方法

本节论述了如何使用 mongodb-source

52.3.1. Knative Source

您可以通过将 mongodb-source Kamelet 绑定到 Knative 对象,将 mongodb-source Kamelet 用作 Knative 源。

mongodb-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mongodb-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mongodb-source
    properties:
      collection: "The MongoDB Collection"
      database: "The MongoDB Database"
      hosts: "The MongoDB Hosts"
      password: "The MongoDB Password"
      username: "The MongoDB Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

52.3.1.1. 前提条件

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

52.3.1.2. 使用集群 CLI 的步骤
  1. mongodb-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f mongodb-source-binding.yaml
    Copy to Clipboard Toggle word wrap
52.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind mongodb-source -p "source.collection=The MongoDB Collection" -p "source.database=The MongoDB Database" -p "source.hosts=The MongoDB Hosts" -p "source.password=The MongoDB Password" -p "source.username=The MongoDB Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

52.3.2. Kafka 源

您可以通过将 mongodb-source Kamelet 绑定到 Kafka 主题,将 mongodb-source Kamelet 用作 Kafka 源。

mongodb-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mongodb-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mongodb-source
    properties:
      collection: "The MongoDB Collection"
      database: "The MongoDB Database"
      hosts: "The MongoDB Hosts"
      password: "The MongoDB Password"
      username: "The MongoDB Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

52.3.2.1. 先决条件

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

52.3.2.2. 使用集群 CLI 的步骤
  1. mongodb-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行源:

    oc apply -f mongodb-source-binding.yaml
    Copy to Clipboard Toggle word wrap
52.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind mongodb-source -p "source.collection=The MongoDB Collection" -p "source.database=The MongoDB Database" -p "source.hosts=The MongoDB Hosts" -p "source.password=The MongoDB Password" -p "source.username=The MongoDB Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

52.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/mongodb-source.kamelet.yaml

第 53 章 MySQL Sink

将数据发送到 MySQL 数据库。

这个 Kamelet 需要 JSON 作为正文。JSON 字段和参数之间的映射由键完成,因此如果您有以下查询:

'INSERT INTO 帐户(username,city) VALUES (: the username,:öcity)'

Kamelet 需要以输入方式接收,如下所示:

'{ "username":"oscerd", "city":"Rome"}'

53.1. 配置选项

下表总结了 mysql-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

databaseName *

数据库名称

我们所指向的数据库名称

字符串

  

password 114

密码

用于访问安全 MySQL 数据库的密码

字符串

  

查询

查询

针对 MySQL 数据库执行的 Query

字符串

 

"INSERT INTO 帐户(username,city) VALUES (:114username,:öcity) "

serverName *

服务器名称

数据源的服务器名称

字符串

 

"localhost"

用户名

用户名

用于访问安全 MySQL 数据库的用户名

字符串

  

serverPort

服务器端口

数据源的服务器端口

字符串

3306

 
注意

标记为星号的字段是必需的。

53.2. 依赖项

在运行时,mysql-sink Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:sql
  • mvn:org.apache.commons:commons-dbcp2:2.7.0.redhat-00001
  • mvn:mysql:mysql-connector-java

53.3. 使用方法

本节论述了如何使用 mysql-sink

53.3.1. Knative Sink

您可以通过将 mysql-sink Kamelet 绑定到 Knative 对象,将 mysql-sink Kamelet 用作 Knative sink。

mysql-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mysql-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mysql-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

53.3.1.1. 前提条件

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

53.3.1.2. 使用集群 CLI 的步骤
  1. mysql-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f mysql-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
53.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel mysql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

53.3.2. Kafka Sink

您可以通过将 mysql-sink Kamelet 绑定到 Kafka 主题,将 mysql-sink Kamelet 用作 Kafka sink。

mysql-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mysql-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: mysql-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

53.3.2.1. 先决条件

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

53.3.2.2. 使用集群 CLI 的步骤
  1. mysql-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f mysql-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
53.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mysql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

53.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/mysql-sink.kamelet.yaml

第 54 章 PostgreSQL Sink

将数据发送到 PostgreSQL 数据库。

这个 Kamelet 需要 JSON 作为正文。JSON 字段和参数之间的映射由键完成,因此如果您有以下查询:

'INSERT INTO 帐户(username,city) VALUES (: the username,:öcity)'

Kamelet 需要以输入方式接收,如下所示:

'{ "username":"oscerd", "city":"Rome"}'

54.1. 配置选项

下表总结了 postgresql-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

databaseName *

数据库名称

我们所指向的数据库名称

字符串

  

password 114

密码

用于访问安全 PostgreSQL 数据库的密码

字符串

  

查询

查询

针对 PostgreSQL 数据库执行的 Query

字符串

 

"INSERT INTO 帐户(username,city) VALUES (:114username,:öcity) "

serverName *

服务器名称

数据源的服务器名称

字符串

 

"localhost"

用户名

用户名

用于访问安全 PostgreSQL 数据库的用户名

字符串

  

serverPort

服务器端口

数据源的服务器端口

字符串

5432

 
注意

标记为星号的字段是必需的。

54.2. 依赖项

在运行时,postgresql-sink Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:sql
  • mvn:org.postgresql:postgresql
  • mvn:org.apache.commons:commons-dbcp2:2.7.0.redhat-00001

54.3. 使用方法

本节论述了如何使用 postgresql-sink

54.3.1. Knative Sink

您可以通过将 postgresql-sink Kamelet 绑定到 Knative 对象,将 postgresql-sink Kamelet 用作 Knative sink。

postgresql-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: postgresql-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: postgresql-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

54.3.1.1. 前提条件

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

54.3.1.2. 使用集群 CLI 的步骤
  1. postgresql-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f postgresql-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
54.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel postgresql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

54.3.2. Kafka Sink

您可以通过将 postgresql-sink Kamelet 绑定到 Kafka 主题,将 postgresql-sink Kamelet 用作 Kafka sink。

postgresql-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: postgresql-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: postgresql-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

54.3.2.1. 先决条件

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

54.3.2.2. 使用集群 CLI 的步骤
  1. postgresql-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f postgresql-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
54.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic postgresql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

54.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/postgresql-sink.kamelet.yaml

第 55 章 predicate Filter Action

基于 JsonPath 表达式过滤

55.1. 配置选项

下表总结了 predicate-filter-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

expression the

表达式

用于评估的 JsonPath 表达式,无需外部父项。由于这是一个过滤器,表达式将是一个负点,这意味着如果示例的 foo 字段等于 John,则消息将提前进行过滤,否则它将被过滤掉。

字符串

 

"@.foo =~ /.*John/"

注意

标记为星号的字段是必需的。

55.2. 依赖项

在运行时,predicate-filter-action Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:kamelet
  • camel:jsonpath

55.3. 使用方法

本节论述了如何使用 predicate-filter-action

55.3.1. Knative Action

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

predicate-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: predicate-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: predicate-filter-action
    properties:
      expression: "@.foo =~ /.*John/"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

55.3.1.1. 前提条件

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

55.3.1.2. 使用集群 CLI 的步骤
  1. predicate-filter-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f predicate-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
55.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step predicate-filter-action -p "step-0.expression=@.foo =~ /.*John/" channel:mychannel
Copy to Clipboard Toggle word wrap

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

55.3.2. Kafka Action

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

predicate-filter-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: predicate-filter-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: predicate-filter-action
    properties:
      expression: "@.foo =~ /.*John/"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

55.3.2.1. 先决条件

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

55.3.2.2. 使用集群 CLI 的步骤
  1. predicate-filter-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f predicate-filter-action-binding.yaml
    Copy to Clipboard Toggle word wrap
55.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step predicate-filter-action -p "step-0.expression=@.foo =~ /.*John/" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

55.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/predicate-filter-action.kamelet.yaml

第 56 章 protobuf Deserialize Action

将反序列化有效负载反序列化为 Protobuf

56.1. 配置选项

下表总结了 protobuf-deserialize-action Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

schema *

模式

序列化过程中使用的 Protobuf 模式(作为单行)

字符串

 

"message Person { required string first = 1; required string last = 2; }"

注意

标记为星号的字段是必需的。

56.2. 依赖项

在运行时,protobuf-deserialize-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core
  • camel:jackson-protobuf

56.3. 使用方法

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

56.3.1. Knative Action

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

protobuf-deserialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: protobuf-deserialize-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; }"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: protobuf-deserialize-action
    properties:
      schema: "message Person { required string first = 1; required string last = 2; }"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

56.3.1.1. 前提条件

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

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

    oc apply -f protobuf-deserialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
56.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind --name protobuf-deserialize-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; }' --step protobuf-deserialize-action -p step-2.schema='message Person { required string first = 1; required string last = 2; }' channel:mychannel
Copy to Clipboard Toggle word wrap

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

56.3.2. Kafka Action

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

protobuf-deserialize-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: protobuf-deserialize-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; }"
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: protobuf-deserialize-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
Copy to Clipboard Toggle word wrap

56.3.2.1. 先决条件

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

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

    oc apply -f protobuf-deserialize-action-binding.yaml
    Copy to Clipboard Toggle word wrap
56.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind --name protobuf-deserialize-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; }' --step protobuf-deserialize-action -p step-2.schema='message Person { required string first = 1; required string last = 2; }' kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

56.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/protobuf-deserialize-action.kamelet.yaml

第 57 章 protobuf Serialize Action

序列化有效负载为 Protobuf

57.1. 配置选项

下表总结了 protobuf-serialize-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

schema *

模式

序列化过程中使用的 Protobuf 模式(作为单行)

字符串

 

"message Person { required string first = 1; required string last = 2; }"

注意

标记为星号的字段是必需的。

57.2. 依赖项

在运行时,protobuf-serialize-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core
  • camel:jackson-protobuf

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
Copy to Clipboard Toggle word wrap

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
    Copy to Clipboard Toggle word wrap
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
Copy to Clipboard Toggle word wrap

此命令在集群的当前命名空间中创建 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
Copy to Clipboard Toggle word wrap

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
    Copy to Clipboard Toggle word wrap
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
Copy to Clipboard Toggle word wrap

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

57.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/protobuf-serialize-action.kamelet.yaml

第 58 章 常规路由器操作

使用配置的正则表达式和替换字符串更新目的地

58.1. 配置选项

下表总结了 regex-router-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

regex 114

regex

目的地的正则表达式

字符串

  

替换

替换

匹配时替换

字符串

  
注意

标记为星号的字段是必需的。

58.2. 依赖项

在运行时,regex-router-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core

58.3. 使用方法

本节论述了如何使用 regex-router-action

58.3.1. Knative Action

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

regex-router-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: regex-router-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: regex-router-action
    properties:
      regex: "The Regex"
      replacement: "The Replacement"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

58.3.1.1. 前提条件

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

58.3.1.2. 使用集群 CLI 的步骤
  1. regex-router-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f regex-router-action-binding.yaml
    Copy to Clipboard Toggle word wrap
58.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step regex-router-action -p "step-0.regex=The Regex" -p "step-0.replacement=The Replacement" channel:mychannel
Copy to Clipboard Toggle word wrap

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

58.3.2. Kafka Action

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

regex-router-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: regex-router-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: regex-router-action
    properties:
      regex: "The Regex"
      replacement: "The Replacement"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

58.3.2.1. 先决条件

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

58.3.2.2. 使用集群 CLI 的步骤
  1. regex-router-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f regex-router-action-binding.yaml
    Copy to Clipboard Toggle word wrap
58.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step regex-router-action -p "step-0.regex=The Regex" -p "step-0.replacement=The Replacement" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

58.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/regex-router-action.kamelet.yaml

第 59 章 替换字段操作

使用传输中的消息中的不同键替换 field。

  • 所需的参数 'renames' 是一个以逗号分隔的重命名对列表,如 'foo:bar,abc:xyz',它代表字段重命名映射。
  • 可选参数 'enabled' 代表要包含的字段。如果指定,则只有命名字段将包含在生成的消息中。
  • 可选参数 'disabled' 代表要排除的字段。如果指定,列出的字段将不包括在生成的消息中。这优先于 'enabled' 参数。
  • 'enabled' 参数的默认值为 'all',因此将包括有效负载的所有字段。
  • 'disabled' 参数的默认值为 'none',因此不会排除有效负载的字段。

59.1. 配置选项

下表总结了 replace-field-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

Rererererererererereateds

重命名

使用要重命名的新值以逗号分隔的字段列表

字符串

 

"foo:bar,c1:c2"

disabled

Disabled

要禁用的以逗号分隔的字段列表

字符串

"无"

 

enabled

Enabled

要启用以逗号分隔的字段列表

字符串

"all"

 
注意

标记为星号的字段是必需的。

59.2. 依赖项

在运行时,replace-field-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:core
  • camel:jackson
  • camel:kamelet

59.3. 使用方法

这部分论述了如何使用 replace-field-action

59.3.1. Knative Action

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

replace-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: replace-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: replace-field-action
    properties:
      renames: "foo:bar,c1:c2"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

59.3.1.1. 前提条件

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

59.3.1.2. 使用集群 CLI 的步骤
  1. replace-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f replace-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
59.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step replace-field-action -p "step-0.renames=foo:bar,c1:c2" channel:mychannel
Copy to Clipboard Toggle word wrap

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

59.3.2. Kafka Action

您可以在 Kafka 绑定中使用 replace-field-action Kamelet 作为中间步骤。

replace-field-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: replace-field-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: replace-field-action
    properties:
      renames: "foo:bar,c1:c2"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

59.3.2.1. 先决条件

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

59.3.2.2. 使用集群 CLI 的步骤
  1. replace-field-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f replace-field-action-binding.yaml
    Copy to Clipboard Toggle word wrap
59.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step replace-field-action -p "step-0.renames=foo:bar,c1:c2" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

59.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/replace-field-action.kamelet.yaml

第 60 章 Salesforce Source

从 Salesforce 接收更新。

60.1. 配置选项

下表总结了 salesforce-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

clientId *

消费者密钥

Salesforce 应用程序消费者密钥

字符串

  

clientSecret *

消费者 Secret

Salesforce 应用程序消费者 secret

字符串

  

password 114

密码

Salesforce 用户密码

字符串

  

查询

查询

对 Salesforce 执行的查询

字符串

 

"SELECT Id, Name, Email, Phone FROM Contact"

topicName *

主题名称

要使用的主题/频道的名称

字符串

 

"ContactTopic"

userName *

用户名

Salesforce 用户名

字符串

  

loginUrl

登录 URL

Salesforce 实例登录 URL

字符串

"https://login.salesforce.com"

 
注意

标记为星号的字段是必需的。

60.2. 依赖项

在运行时,Offr-source Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:salesforce
  • mvn:org.apache.camel.k:camel-k-kamelet-reify
  • camel:kamelet

60.3. 使用方法

这部分论述了如何使用 Salesforce -source

60.3.1. Knative Source

您可以通过将 Salesforce -source Kamelet 绑定到 Knative 对象,将其用作 Knative 源。

salesforce-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-source
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      query: "SELECT Id, Name, Email, Phone FROM Contact"
      topicName: "ContactTopic"
      userName: "The Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

60.3.1.1. 前提条件

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

60.3.1.2. 使用集群 CLI 的步骤
  1. salesforce-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f salesforce-source-binding.yaml
    Copy to Clipboard Toggle word wrap
60.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind salesforce-source -p "source.clientId=The Consumer Key" -p "source.clientSecret=The Consumer Secret" -p "source.password=The Password" -p "source.query=SELECT Id, Name, Email, Phone FROM Contact" -p "source.topicName=ContactTopic" -p "source.userName=The Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

60.3.2. Kafka 源

您可以通过将 Salesforce -source Kamelet 用作 Kafka 源,将其绑定到 Kafka 主题。

salesforce-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-source
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      query: "SELECT Id, Name, Email, Phone FROM Contact"
      topicName: "ContactTopic"
      userName: "The Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

60.3.2.1. 先决条件

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

60.3.2.2. 使用集群 CLI 的步骤
  1. salesforce-source-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行源:

    oc apply -f salesforce-source-binding.yaml
    Copy to Clipboard Toggle word wrap
60.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind salesforce-source -p "source.clientId=The Consumer Key" -p "source.clientSecret=The Consumer Secret" -p "source.password=The Password" -p "source.query=SELECT Id, Name, Email, Phone FROM Contact" -p "source.topicName=ContactTopic" -p "source.userName=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

60.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/salesforce-source.kamelet.yaml

第 61 章 Salesforce 创建 Sink

在 Salesforce 中创建对象。消息的正文必须包含 Salesforce 对象的 JSON。

示例正文:{ "Phone": "555", "Name": "Antonia", "LastName": "Garcia" }

61.1. 配置选项

下表总结了 salesforce-create-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

clientId *

消费者密钥

Salesforce 应用程序消费者密钥

字符串

  

clientSecret *

消费者 Secret

Salesforce 应用程序消费者 secret

字符串

  

password 114

密码

Salesforce 用户密码

字符串

  

userName *

用户名

Salesforce 用户名

字符串

  

loginUrl

登录 URL

Salesforce 实例登录 URL

字符串

"https://login.salesforce.com"

 

sObjectName

对象名称

对象的类型

字符串

 

"Contact"

注意

标记为星号的字段是必需的。

61.2. 依赖项

在运行时,Offer-create-sink Kamelet 依赖于以下依赖项:

  • camel:salesforce
  • camel:kamelet

61.3. 使用方法

本节论述了如何使用 salesforce-create-sink

61.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 salesforce-create-sink Kamelet 作为 Knative sink。

salesforce-create-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-create-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-create-sink
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      userName: "The Username"
Copy to Clipboard Toggle word wrap

61.3.1.1. 前提条件

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

61.3.1.2. 使用集群 CLI 的步骤
  1. salesforce-create-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f salesforce-create-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
61.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel salesforce-create-sink -p "sink.clientId=The Consumer Key" -p "sink.clientSecret=The Consumer Secret" -p "sink.password=The Password" -p "sink.userName=The Username"
Copy to Clipboard Toggle word wrap

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

61.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 salesforce-create-sink Kamelet 作为 Kafka sink。

salesforce-create-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-create-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-create-sink
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      userName: "The Username"
Copy to Clipboard Toggle word wrap

61.3.2.1. 先决条件

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

61.3.2.2. 使用集群 CLI 的步骤
  1. salesforce-create-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f salesforce-create-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
61.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic salesforce-create-sink -p "sink.clientId=The Consumer Key" -p "sink.clientSecret=The Consumer Secret" -p "sink.password=The Password" -p "sink.userName=The Username"
Copy to Clipboard Toggle word wrap

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

61.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/salesforce-create-sink.kamelet.yaml

第 62 章 Salesforce 删除 Sink

从 Salesforce 中删除对象。收到的正文必须是包含两个键的 JSON:sObjectId 和 sObjectName。

Example body: { "sObjectId": "XXXXX0", "sObjectName": "Contact" }

62.1. 配置选项

下表总结了 salesforce-delete-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

clientId *

消费者密钥

Salesforce 应用程序消费者密钥

字符串

  

clientSecret *

消费者 Secret

Salesforce 应用程序消费者 secret

字符串

  

password 114

密码

Salesforce 用户密码

字符串

  

userName *

用户名

Salesforce 用户名

字符串

  

loginUrl

登录 URL

Salesforce 实例登录 URL

字符串

"https://login.salesforce.com"

 
注意

标记为星号的字段是必需的。

62.2. 依赖项

在运行时,Off r-delete-sink Kamelet 依赖于以下依赖项:

  • camel:salesforce
  • camel:kamelet
  • camel:core
  • camel:jsonpath

62.3. 使用方法

本节论述了如何使用 salesforce-delete-sink

62.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 salesforce-delete-sink Kamelet 作为 Knative sink。

salesforce-delete-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-delete-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-delete-sink
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      userName: "The Username"
Copy to Clipboard Toggle word wrap

62.3.1.1. 前提条件

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

62.3.1.2. 使用集群 CLI 的步骤
  1. salesforce-delete-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f salesforce-delete-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
62.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel salesforce-delete-sink -p "sink.clientId=The Consumer Key" -p "sink.clientSecret=The Consumer Secret" -p "sink.password=The Password" -p "sink.userName=The Username"
Copy to Clipboard Toggle word wrap

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

62.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 salesforce-delete-sink Kamelet 作为 Kafka sink。

salesforce-delete-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-delete-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-delete-sink
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      userName: "The Username"
Copy to Clipboard Toggle word wrap

62.3.2.1. 先决条件

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

62.3.2.2. 使用集群 CLI 的步骤
  1. salesforce-delete-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f salesforce-delete-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
62.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic salesforce-delete-sink -p "sink.clientId=The Consumer Key" -p "sink.clientSecret=The Consumer Secret" -p "sink.password=The Password" -p "sink.userName=The Username"
Copy to Clipboard Toggle word wrap

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

62.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/salesforce-delete-sink.kamelet.yaml

第 63 章 Salesforce Update Sink

更新 Salesforce 中的对象。收到的正文必须包含 JSON 键值对,用于更新的每个属性,并且 sObjectName 和 sObjectId 必须作为参数提供。

键值对示例:{ "phone": "1234567890", "Name": "Antonia" }

63.1. 配置选项

下表总结了 salesforce-update-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

clientId *

消费者密钥

Salesforce 应用程序消费者密钥

字符串

  

clientSecret *

消费者 Secret

Salesforce 应用程序消费者 secret

字符串

  

password 114

密码

Salesforce 用户密码

字符串

  

sObjectId 047

对象 Id

对象的 ID。仅在使用键值对时才需要。

字符串

  

sObjectName *

对象名称

对象的类型。仅在使用键值对时才需要。

字符串

 

"Contact"

userName *

用户名

Salesforce 用户名

字符串

  

loginUrl

登录 URL

Salesforce 实例登录 URL

字符串

"https://login.salesforce.com"

 
注意

标记为星号的字段是必需的。

63.2. 依赖项

在运行时,Offer-update-sink Kamelet 依赖于以下依赖项:

  • camel:salesforce
  • camel:kamelet

63.3. 使用方法

本节论述了如何使用 salesforce-update-sink

63.3.1. Knative Sink

您可以通过将它绑定到 Knative 对象,使用 salesforce-update-sink Kamelet 作为 Knative sink。

salesforce-update-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-update-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-update-sink
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      sObjectId: "The Object Id"
      sObjectName: "Contact"
      userName: "The Username"
Copy to Clipboard Toggle word wrap

63.3.1.1. 前提条件

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

63.3.1.2. 使用集群 CLI 的步骤
  1. salesforce-update-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f salesforce-update-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
63.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel salesforce-update-sink -p "sink.clientId=The Consumer Key" -p "sink.clientSecret=The Consumer Secret" -p "sink.password=The Password" -p "sink.sObjectId=The Object Id" -p "sink.sObjectName=Contact" -p "sink.userName=The Username"
Copy to Clipboard Toggle word wrap

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

63.3.2. Kafka Sink

您可以通过将它绑定到 Kafka 主题,使用 salesforce-update-sink Kamelet 作为 Kafka sink。

salesforce-update-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-update-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-update-sink
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      sObjectId: "The Object Id"
      sObjectName: "Contact"
      userName: "The Username"
Copy to Clipboard Toggle word wrap

63.3.2.1. 先决条件

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

63.3.2.2. 使用集群 CLI 的步骤
  1. salesforce-update-sink-binding.yaml 文件保存到本地驱动器中,然后根据您的配置需要对其进行编辑。
  2. 使用以下命令运行 sink:

    oc apply -f salesforce-update-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
63.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic salesforce-update-sink -p "sink.clientId=The Consumer Key" -p "sink.clientSecret=The Consumer Secret" -p "sink.password=The Password" -p "sink.sObjectId=The Object Id" -p "sink.sObjectName=Contact" -p "sink.userName=The Username"
Copy to Clipboard Toggle word wrap

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

63.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/salesforce-update-sink.kamelet.yaml

第 64 章 SFTP Sink

将数据发送到 SFTP 服务器。

Kamelet 期望设置以下标头:

  • file / ce-file: 作为要上传的文件名

如果没有设置标头,则交换 ID 将用作文件名。

64.1. 配置选项

下表总结了 sftp-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

connectionHost 114

连接主机

FTP 服务器的主机名

字符串

  

connectionPort 114

连接端口

FTP 服务器的端口

字符串

22

 

directoryName *

目录名称

启动目录

字符串

  

password 114

密码

访问 FTP 服务器的密码

字符串

  

用户名

用户名

访问 FTP 服务器的用户名

字符串

  

fileExist

文件优先级

在文件已存在时如何行为。有 4 个枚举,值可以是 Override, Append, Fail 或 Ignore 之一

字符串

"Override"

 

passiveMode

被动模式

设置被动模式连接

布尔值

false

 
注意

标记为星号的字段是必需的。

64.2. 依赖项

在运行时,sftp-sink Kamelet 依赖于以下依赖项:

  • camel:ftp
  • camel:core
  • camel:kamelet

64.3. 使用方法

这部分论述了如何使用 sftp-sink

64.3.1. Knative Sink

您可以通过将 sftp-sink Kamelet 绑定到 Knative 对象,使用 sftp-sink Kamelet 作为 Knative sink。

sftp-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: sftp-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: sftp-sink
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
Copy to Clipboard Toggle word wrap

64.3.1.1. 前提条件

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

64.3.1.2. 使用集群 CLI 的步骤
  1. sftp-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f sftp-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
64.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel sftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

64.3.2. Kafka Sink

您可以通过将 sftp-sink Kamelet 绑定到 Kafka 主题,将 sftp-sink Kamelet 用作 Kafka sink。

sftp-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: sftp-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: sftp-sink
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
Copy to Clipboard Toggle word wrap

64.3.2.1. 先决条件

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

64.3.2.2. 使用集群 CLI 的步骤
  1. sftp-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行 sink:

    oc apply -f sftp-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
64.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic sftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

64.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/sftp-sink.kamelet.yaml

第 65 章 SFTP 源

从 SFTP 服务器接收数据。

65.1. 配置选项

下表总结了 sftp-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

connectionHost 114

连接主机

SFTP 服务器的主机名

字符串

  

connectionPort 114

连接端口

FTP 服务器的端口

字符串

22

 

directoryName *

目录名称

启动目录

字符串

  

password 114

密码

访问 SFTP 服务器的密码

字符串

  

用户名

用户名

访问 SFTP 服务器的用户名

字符串

  

idempotent

idempotency

跳过已经处理的文件。

布尔值

true

 

passiveMode

被动模式

设置被动模式连接

布尔值

false

 

递归

递归

如果某个目录,也会在所有子目录中查找文件。

布尔值

false

 
注意

标记为星号的字段是必需的。

65.2. 依赖项

在运行时,sftp-source Kamelet 依赖于以下依赖项:

  • camel:ftp
  • camel:core
  • camel:kamelet

65.3. 使用方法

这部分描述了如何使用 sftp-source

65.3.1. Knative Source

您可以通过将 sftp-source Kamelet 绑定到 Knative 对象,使用 sftp-source Kamelet 作为 Knative 源。

sftp-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: sftp-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: sftp-source
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

65.3.1.1. 前提条件

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

65.3.1.2. 使用集群 CLI 的步骤
  1. sftp-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f sftp-source-binding.yaml
    Copy to Clipboard Toggle word wrap
65.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind sftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" channel:mychannel
Copy to Clipboard Toggle word wrap

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

65.3.2. Kafka 源

您可以通过将 sftp-source Kamelet 绑定到 Kafka 主题,使用 sftp-source Kamelet 作为 Kafka 源。

sftp-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: sftp-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: sftp-source
    properties:
      connectionHost: "The Connection Host"
      directoryName: "The Directory Name"
      password: "The Password"
      username: "The Username"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

65.3.2.1. 先决条件

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

65.3.2.2. 使用集群 CLI 的步骤
  1. sftp-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f sftp-source-binding.yaml
    Copy to Clipboard Toggle word wrap
65.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind sftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

65.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/sftp-source.kamelet.yaml

第 66 章 Slack 源

从 Slack 频道接收信息。

66.1. 配置选项

下表总结了 slack-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

频道

Channel

要从中接收消息的 Slack 频道

字符串

 

"#myroom"

Token 114

令牌

访问 Slack 的令牌。需要 Slack 应用程序。此应用程序需要具有 channel:history 和 channel:read 权限。Bot 用户 OAuth 访问令牌是所需的令牌类型。

字符串

  
注意

标记为星号的字段是必需的。

66.2. 依赖项

在运行时,lack-source Kamelet 依赖于以下依赖项:

  • camel:kamelet
  • camel:slack
  • camel:jackson

66.3. 使用方法

这部分论述了如何使用 slack-source

66.3.1. Knative Source

您可以通过将 slack-source Kamelet 绑定到 Knative 对象,将 slack-source Kamelet 用作 Knative 源。

slack-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: slack-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: slack-source
    properties:
      channel: "#myroom"
      token: "The Token"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

66.3.1.1. 前提条件

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

66.3.1.2. 使用集群 CLI 的步骤
  1. slack-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f slack-source-binding.yaml
    Copy to Clipboard Toggle word wrap
66.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind slack-source -p "source.channel=#myroom" -p "source.token=The Token" channel:mychannel
Copy to Clipboard Toggle word wrap

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

66.3.2. Kafka 源

您可以通过将 slack-source Kamelet 用作 Kafka 源,将其绑定到 Kafka 主题。

slack-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: slack-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: slack-source
    properties:
      channel: "#myroom"
      token: "The Token"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

66.3.2.1. 先决条件

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

66.3.2.2. 使用集群 CLI 的步骤
  1. slack-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f slack-source-binding.yaml
    Copy to Clipboard Toggle word wrap
66.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind slack-source -p "source.channel=#myroom" -p "source.token=The Token" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

66.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/slack-source.kamelet.yaml

第 67 章 Microsoft SQL Server Sink

将数据发送到 Microsoft SQL Server 数据库。

这个 Kamelet 需要 JSON 作为正文。JSON 字段和参数之间的映射由键完成,因此如果您有以下查询:

'INSERT INTO 帐户(username,city) VALUES (: the username,:öcity)'

Kamelet 需要以输入方式接收,如下所示:

'{ "username":"oscerd", "city":"Rome"}'

67.1. 配置选项

下表总结了 sqlserver-sink Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

databaseName *

数据库名称

我们所指向的数据库名称

字符串

  

password 114

密码

用于访问安全 SQL Server 数据库的密码

字符串

  

查询

查询

对 SQL Server 数据库执行的 Query

字符串

 

"INSERT INTO 帐户(username,city) VALUES (:114username,:öcity) "

serverName *

服务器名称

数据源的服务器名称

字符串

 

"localhost"

用户名

用户名

用于访问安全 SQL Server 数据库的用户名

字符串

  

serverPort

服务器端口

数据源的服务器端口

字符串

1433

 
注意

标记为星号的字段是必需的。

67.2. 依赖项

在运行时,sqlserver-sink Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:sql
  • mvn:org.apache.commons:commons-dbcp2:2.7.0.redhat-00001
  • mvn:com.microsoft.sqlserver:mssql-jdbc:9.2.1.jre11

67.3. 使用方法

本节论述了如何使用 sqlserver-sink

67.3.1. Knative Sink

您可以通过将 sqlserver-sink Kamelet 绑定到 Knative 对象,将 sqlserver-sink Kamelet 用作 Knative sink。

sqlserver-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: sqlserver-sink-binding
spec:
  source:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: sqlserver-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

67.3.1.1. 前提条件

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

67.3.1.2. 使用集群 CLI 的步骤
  1. sqlserver-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f sqlserver-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
67.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind channel:mychannel sqlserver-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

67.3.2. Kafka Sink

您可以通过将 sqlserver-sink Kamelet 绑定到 Kafka 主题,将 sqlserver-sink Kamelet 用作 Kafka sink。

sqlserver-sink-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: sqlserver-sink-binding
spec:
  source:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: sqlserver-sink
    properties:
      databaseName: "The Database Name"
      password: "The Password"
      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
      serverName: "localhost"
      username: "The Username"
Copy to Clipboard Toggle word wrap

67.3.2.1. 先决条件

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

67.3.2.2. 使用集群 CLI 的步骤
  1. sqlserver-sink-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行 sink:

    oc apply -f sqlserver-sink-binding.yaml
    Copy to Clipboard Toggle word wrap
67.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic sqlserver-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
Copy to Clipboard Toggle word wrap

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

67.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/sqlserver-sink.kamelet.yaml

第 68 章 电话报源

收到人发送给您的站报 bot 的所有消息。

要创建一个 bot,请联系 @botfather 帐户,使用 slirpgram 应用程序。

源将以下标头附加到消息中:

  • chat-id / ce-chatid :消息来自的 chat 的 ID

68.1. 配置选项

下表总结了 telegram-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

authorizationToken *

令牌

用于访问 botgram 上的 bot 的令牌。您可以从 guestfishgram @botfather 获取它。

字符串

  
注意

标记为星号的字段是必需的。

68.2. 依赖项

在运行时,telegram-source Kamelet 依赖于以下依赖项:

  • camel:jackson
  • camel:kamelet
  • camel:telegram
  • camel:core

68.3. 使用方法

这部分论述了如何使用 telegram-source

68.3.1. Knative Source

您可以通过将 telegram-source Kamelet 绑定到 Knative 对象,使用 telegram-source Kamelet 作为 Knative 源。

telegram-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: telegram-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: telegram-source
    properties:
      authorizationToken: "The Token"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

68.3.1.1. 前提条件

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

68.3.1.2. 使用集群 CLI 的步骤
  1. telegram-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f telegram-source-binding.yaml
    Copy to Clipboard Toggle word wrap
68.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind telegram-source -p "source.authorizationToken=The Token" channel:mychannel
Copy to Clipboard Toggle word wrap

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

68.3.2. Kafka 源

您可以通过将 telegram-source Kamelet 绑定到 Kafka 主题,使用 telegram-source Kamelet 作为 Kafka 源。

telegram-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: telegram-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: telegram-source
    properties:
      authorizationToken: "The Token"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

68.3.2.1. 先决条件

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

68.3.2.2. 使用集群 CLI 的步骤
  1. telegram-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f telegram-source-binding.yaml
    Copy to Clipboard Toggle word wrap
68.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind telegram-source -p "source.authorizationToken=The Token" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

68.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/telegram-source.kamelet.yaml

第 69 章 throttle Action

Throttle 操作允许您确保特定接收器没有过载。

69.1. 配置选项

下表总结了 throttle-action Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

messages Liberty

消息号

在时间段内发送的消息数

整数

 

10

timePeriod

时间周期

以毫秒为单位设置最大请求数有效的时间段

字符串

"1000"

 
注意

标记为星号的字段是必需的。

69.2. 依赖项

在运行时,throttle-action Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:kamelet

69.3. 使用方法

本节论述了如何使用 throttle-action

69.3.1. Knative Action

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

throttle-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: throttle-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: throttle-action
    properties:
      messages: 1
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

69.3.1.1. 前提条件

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

69.3.1.2. 使用集群 CLI 的步骤
  1. throttle-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f throttle-action-binding.yaml
    Copy to Clipboard Toggle word wrap
69.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step throttle-action -p "step-0.messages=10" channel:mychannel
Copy to Clipboard Toggle word wrap

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

69.3.2. Kafka Action

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

throttle-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: throttle-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: throttle-action
    properties:
      messages: 1
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

69.3.2.1. 先决条件

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

69.3.2.2. 使用集群 CLI 的步骤
  1. throttle-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f throttle-action-binding.yaml
    Copy to Clipboard Toggle word wrap
69.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step throttle-action -p "step-0.messages=1" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

69.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/throttle-action.kamelet.yaml

第 70 章 计时器源

使用自定义有效负载生成定期事件。

70.1. 配置选项

下表总结了 timer-source Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

message 114

消息

要生成的消息

字符串

 

"hello world"

contentType

内容类型

正在生成的消息的内容类型

字符串

"text/plain"

 

周期

时期

两个事件之间的间隔(毫秒)

整数

1000

 

repeatCount

重复计数

指定触发的最大数量

整数

  
注意

标记为星号的字段是必需的。

70.2. 依赖项

在运行时,timer-source Kamelet 依赖于以下依赖项:

  • camel:core
  • camel:timer
  • camel:kamelet

70.3. 使用方法

这部分论述了如何使用 timer-source

70.3.1. Knative Source

您可以通过将 timer-source Kamelet 绑定到 Knative 对象,使用 timer-source Kamelet 作为 Knative 源。

timer-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: timer-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "hello world"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

70.3.1.1. 前提条件

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

70.3.1.2. 使用集群 CLI 的步骤
  1. timer-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f timer-source-binding.yaml
    Copy to Clipboard Toggle word wrap
70.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source -p "source.message=hello world" channel:mychannel
Copy to Clipboard Toggle word wrap

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

70.3.2. Kafka 源

您可以通过将 timer-source Kamelet 绑定到 Kafka 主题,使用 timer-source Kamelet 作为 Kafka 源。

timer-source-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: timer-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "hello world"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

70.3.2.1. 先决条件

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

70.3.2.2. 使用集群 CLI 的步骤
  1. timer-source-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑该文件。
  2. 使用以下命令运行源:

    oc apply -f timer-source-binding.yaml
    Copy to Clipboard Toggle word wrap
70.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source -p "source.message=hello world" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

70.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/timer-source.kamelet.yaml

第 71 章 时间戳路由器操作

更新 topic 字段,作为原始主题名称和记录时间戳的功能。

71.1. 配置选项

下表总结了 timestamp-router-action Kamelet 可用的配置选项:

Expand
属性名称描述类型默认示例

timestampFormat

时间戳格式

与 java.text.SimpleDateFormat 兼容的时间戳的格式字符串。

字符串

"yyyyMMdd"

 

timestampHeaderName

timestamp Header Name

包含时间戳的标头名称

字符串

"kafka.TIMESTAMP"

 

topicFormat

主题格式

格式字符串,分别可以包含 '$[topic]' 和 '$[timestamp]' 作为主题和时间戳的占位符。

字符串

"topic-$[timestamp]"

 
注意

标记为星号的字段是必需的。

71.2. 依赖项

在运行时,Timestamp-router-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:kamelet
  • camel:core

71.3. 使用方法

本节论述了如何使用 timestamp-router-action

71.3.1. Knative Action

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

timestamp-router-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: timestamp-router-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timestamp-router-action
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

71.3.1.1. 前提条件

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

71.3.1.2. 使用集群 CLI 的步骤
  1. timestamp-router-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f timestamp-router-action-binding.yaml
    Copy to Clipboard Toggle word wrap
71.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step timestamp-router-action channel:mychannel
Copy to Clipboard Toggle word wrap

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

71.3.2. Kafka Action

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

timestamp-router-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: timestamp-router-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timestamp-router-action
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

71.3.2.1. 先决条件

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

71.3.2.2. 使用集群 CLI 的步骤
  1. timestamp-router-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f timestamp-router-action-binding.yaml
    Copy to Clipboard Toggle word wrap
71.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step timestamp-router-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

71.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/timestamp-router-action.kamelet.yaml

第 72 章 Key Action 的值

使用来自正文中字段子集的新密钥替换 Kafka 记录键

72.1. 配置选项

下表总结了 value-to-key-action Kamelet 的配置选项:

Expand
属性名称描述类型默认示例

字段

fields

用于组成新密钥的字段的逗号分隔列表

字符串

  
注意

标记为星号的字段是必需的。

72.2. 依赖项

在运行时,value-to-key-action Kamelet 依赖于以下依赖项:

  • github:openshift-integration.kamelet-catalog:camel-kamelets-utils:kamelet-catalog-1.6-SNAPSHOT
  • camel:core
  • camel:jackson
  • camel:kamelet

72.3. 使用方法

本节论述了如何使用 value-to-key-action

72.3.1. Knative Action

您可以使用 value-to-key-action Kamelet 作为 Knative 绑定中的中间步骤。

value-to-key-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: value-to-key-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: value-to-key-action
    properties:
      fields: "The Fields"
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel
Copy to Clipboard Toggle word wrap

72.3.1.1. 前提条件

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

72.3.1.2. 使用集群 CLI 的步骤
  1. value-to-key-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f value-to-key-action-binding.yaml
    Copy to Clipboard Toggle word wrap
72.3.1.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step value-to-key-action -p "step-0.fields=The Fields" channel:mychannel
Copy to Clipboard Toggle word wrap

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

72.3.2. Kafka Action

您可以使用 value-to-key-action Kamelet 作为 Kafka 绑定中的中间步骤。

value-to-key-action-binding.yaml

apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: value-to-key-action-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: timer-source
    properties:
      message: "Hello"
  steps:
  - ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: value-to-key-action
    properties:
      fields: "The Fields"
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic
Copy to Clipboard Toggle word wrap

72.3.2.1. 先决条件

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

72.3.2.2. 使用集群 CLI 的步骤
  1. value-to-key-action-binding.yaml 文件保存到本地驱动器中,然后根据需要编辑您的配置。
  2. 使用以下命令运行操作:

    oc apply -f value-to-key-action-binding.yaml
    Copy to Clipboard Toggle word wrap
72.3.2.3. 使用 Kamel CLI 的步骤

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

kamel bind timer-source?message=Hello --step value-to-key-action -p "step-0.fields=The Fields" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
Copy to Clipboard Toggle word wrap

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

72.4. kamelet 源文件

https://github.com/openshift-integration/kamelet-catalog/value-to-key-action.kamelet.yaml

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat