Red Hat Camel K is deprecated
Red Hat Camel K is deprecated and the End of Life date for this product is June 30, 2025. For help migrating to the current go-to solution, Red Hat build of Apache Camel, see the Migration Guide.第 4 章 kamelets 参考
4.1. kamelet 结构
Kamelet 通常以 YAML 域特定语言进行编码。文件名前缀是 Kamelet 的名称。例如,名称 FTP sink 的 Kamelet 具有文件名 ftp-sink.kamelet.yaml
。
请注意,在 OpenShift 中,Kamelet 是一个显示 Kamelet 的名称的资源(而不是文件名)。
在高级别上,Kamelet 资源描述了:
-
包含 Kamelet 的 ID 和其他信息的 metadata 部分,如 Kamelet 类型(
源
、sink
或action
)。 - 包含一组参数的定义(JSON-schema 规格),可用于配置 Kamelet。
-
一个可选的
type
部分,其中包含 Kamelet 预期的输入和输出的信息。 - 定义 Kamelet 实施的 YAML DSL 中的 Camel 模板。
下图显示了 Kamelet 及其部分的示例。
Kamelet 结构示例
telegram-text-source.kamelet.yaml apiVersion: camel.apache.org/v1alpha1 kind: Kamelet metadata: name: telegram-source 1 annotations: 2 camel.apache.org/catalog.version: "master-SNAPSHOT" camel.apache.org/kamelet.icon: "data:image/..." camel.apache.org/provider: "Red Hat" camel.apache.org/kamelet.group: "Telegram" labels: 3 camel.apache.org/kamelet.type: "source" spec: definition: 4 title: "Telegram Source" description: |- Receive all messages that people send to your telegram bot. To create a bot, contact the @botfather account using the Telegram app. The source attaches the following headers to the messages: -chat-id
/ce-chatid
: the ID of the chat where the message comes from required: - authorizationToken type: object properties: authorizationToken: title: Token description: The token to access your bot on Telegram, that you can obtain from the Telegram "Bot Father". type: string format: password x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password types: 5 out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:telegram" template: 6 from: uri: telegram:bots parameters: authorizationToken: "{{authorizationToken}}" steps: - set-header: name: chat-id simple: "${header[CamelTelegramChatId]}" - set-header: name: ce-chatid simple: "${header[CamelTelegramChatId]}" - marshal: json: {} - to: "kamelet:sink"
- Kamelet ID - 当您要引用 Kamelet 时,在 Camel K 集成中使用此 ID。
- 注解(如 icon)为 Kamelet 提供显示功能。
- 标签允许用户查询 Kamelets (例如 kind: "source", "sink", 或 "action")
- JSON-schema 规格格式的 Kamelet 和参数的描述。
- 输出的介质类型(可以包含 schema)。
- 定义 Kamelet 行为的路由模板。