第 3 章 事件 sink
3.1. 事件 sink
在创建事件源时,您可以指定事件从源发送到的事件接收器(sink)。事件接收器是一个可寻址或可调用的资源,可以从其他资源接收传入的事件。Knative 服务、频道和代理都是事件接收器示例。还有一个特定的 Apache Kafka 接收器类型。
可寻址的对象接收和确认通过 HTTP 发送的事件到其 status.address.url
字段中定义的地址。作为特殊情况,核心 Kubernetes Service
对象也履行可寻址的接口。
可调用的对象可以接收通过 HTTP 发送的事件并转换事件,并在 HTTP 响应中返回 0
或 1
新事件。这些返回的事件可能会象处理外部事件源中的事件一样进一步处理。
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 服务。其他默认的接收器前缀包括channel
和broker
。
提示
您可以通过自定义 kn
,配置哪些 CR 可在 Knative (kn
) CLI 命令中使用 --sink
标记。