5.5. 事件 sink
创建事件源时,您可以指定事件从源发送到的接收器。sink 是一个可寻址或可调用的资源,可以从其他资源接收传入的事件。Knative 服务、频道和代理都是接收器示例。
可寻址的对象接收和确认通过 HTTP 发送的事件到其 status.address.url
字段中定义的地址。作为特殊情况,核心 Kubernetes Service
对象也履行可寻址的接口。
可调用的对象可以接收通过 HTTP 发送的事件并转换事件,并在 HTTP 响应中返回 0
或 1
新事件。这些返回的事件可能会象处理外部事件源中的 Events 一样进一步处理。
5.5.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 的 --sink
标记(kn
)CLI 命令一起使用。https://access.redhat.com/documentation/en-us/openshift_container_platform/4.7/html-single/serverless/#advanced-kn-config