代理可以与触发器结合使用,将事件从事件源传递到事件接收器。事件作为 HTTP POST
请求从事件源发送到代理。事件进入代理后,可以使用触发器根据CloudEvent 属性进行过滤,并作为 HTTP POST
请求发送到事件接收器。
使用 OpenShift Container Platform Web 控制台提供了一个简化且直观的用户界面来创建触发器。在 Knative Eventing 安装到您的集群并且您创建了代理之后,您可以使用 Web 控制台创建触发器。
OpenShift Serverless Operator 和 Knative Eventing 已安装在您的 OpenShift Container Platform 集群上。
您已登录到 Web 控制台并处于**管理员**视角。
您拥有 OpenShift Container Platform 的集群管理员权限,或者您拥有 Red Hat OpenShift Service on AWS 或 OpenShift Dedicated 的集群或专用管理员权限。
您已创建 Knative 代理。
您已创建 Knative 服务用作订阅者。
在 OpenShift Container Platform Web 控制台的**管理员**视角中,导航到**无服务器** → **Eventing**。
在**代理**选项卡中,选择您要向其添加触发器的代理的选项菜单 。
单击列表中的**添加触发器**。
在**添加触发器**对话框中,为触发器选择一个**订阅者**。订阅者是将接收来自代理的事件的 Knative 服务。
单击**添加**。
使用 OpenShift Container Platform Web 控制台提供了一个简化且直观的用户界面来创建触发器。在 Knative Eventing 安装到您的集群并且您创建了代理之后,您可以使用 Web 控制台创建触发器。
OpenShift Serverless Operator、Knative Serving 和 Knative Eventing 已安装在您的 OpenShift Container Platform 集群上。
您已登录到 Web 控制台。
您已创建项目或有权访问具有适当角色和权限的项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
您已创建代理和 Knative 服务或其他要连接到触发器的事件接收器。
在**开发者**视角中,导航到**拓扑**页面。
将鼠标悬停在要为其创建触发器的代理上,然后拖动箭头。将显示**添加触发器**选项。
单击**添加触发器**。
在**订阅者**列表中选择您的接收器。
单击**添加**。
订阅创建后,您可以在**拓扑**页面查看它,它以连接代理和事件接收器的线段形式显示。
在**开发者**视角中,导航到**拓扑**页面。
点击您要删除的触发器。
在**操作**上下文菜单中,选择**删除触发器**。
您可以使用kn trigger create
命令创建触发器。
OpenShift Serverless Operator 和 Knative Eventing 已安装在您的 OpenShift Container Platform 集群上。
您已安装 Knative (kn
) CLI。
您已创建项目或有权访问具有适当角色和权限的项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
创建触发器
$ kn trigger create <trigger_name> --broker <broker_name> --filter <key=value> --sink <sink_name>
或者,您可以使用代理注入同时创建触发器和default
代理。
$ kn trigger create <trigger_name> --inject-broker --filter <key=value> --sink <sink_name>
默认情况下,触发器会将发送到代理的所有事件转发到已订阅该代理的接收器。使用触发器的--filter
属性允许您过滤来自代理的事件,以便订阅者仅根据您定义的条件接收部分事件。