第 3 章 事件 sink


3.1. 事件 sink

在创建事件源时,您可以指定事件从源发送到的事件接收器(sink)。事件接收器是一个可寻址或可调用的资源,可以从其他资源接收传入的事件。Knative 服务、频道和代理都是事件接收器示例。还有一个特定的 Apache Kafka 接收器类型。

可寻址的对象接收和确认通过 HTTP 发送的事件到其 status.address.url 字段中定义的地址。作为特殊情况,核心 Kubernetes Service 对象也履行可寻址的接口。

可调用的对象可以接收通过 HTTP 发送的事件并转换事件,并在 HTTP 响应中返回 01 新事件。这些返回的事件可能会象处理外部事件源中的事件一样进一步处理。

3.1.1. Knative CLI sink 标记

当使用 Knative (kn) CLI 创建事件源时,您可以使用 --sink 标志指定事件从该资源发送到的接收器。sink 可以是任何可寻址或可调用的资源,可以从其他资源接收传入的事件。

以下示例创建使用服务 http://event-display.svc.cluster.local 的接收器绑定作为接收器:

使用 sink 标记的命令示例

$ kn source binding create bind-heartbeat \
  --namespace sinkbinding-example \
  --subject "Job:batch/v1:app=heartbeat-cron" \
  --sink http://event-display.svc.cluster.local \ 1
  --ce-override "sink=bound"

1
http://event-display.svc.cluster.local 中的 svc 确定接收器是一个 Knative 服务。其他默认的接收器前缀包括 channelbroker
提示

您可以通过自定义 kn,配置哪些 CR 可在 Knative (kn) CLI 命令中使用 --sink 标记。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.