3.2. 使用 kn-event 插件发送事件
您可以使用 kn event send
命令来发送事件。事件可以发送到公开的地址,或发送到集群中的可寻址资源,如 Kubernetes 服务,以及 Knative 服务、代理和频道。命令使用与 kn event build
命令相同的 builder 接口。
先决条件
-
已安装 Knative (
kn
) CLI。
流程
发送事件:
$ kn event send --field <field-name>=<value> --type <type-name> --id <id> --to-url <url> --to <cluster-resource> --namespace <namespace>
其中:
-
--field
标志将数据作为字段值对添加到事件中。您可以多次使用它。 -
--type
标志允许您指定指定事件类型的字符串。 -
--id
标志指定事件的 ID。 -
如果您要将事件发送到公开的目的地,请使用
--to-url
标志指定 URL。 如果要将事件发送到集群内 Kubernetes 资源,请使用
--to
标志指定目的地。-
使用
<Kind>:<ApiVersion>:<name>
格式指定 Kubernetes 资源。
-
使用
--namespace
标志指定命名空间。如果省略,则会从当前上下文中获取命名空间。所有这些标志都是可选的,除了目的地规格外,您需要使用
--to-url
或--to
。以下示例显示向 URL 发送事件:
示例命令
$ kn event send \ --field player.id=6354aa60-ddb1-452e-8c13-24893667de20 \ --field player.game=2345 \ --field points=456 \ --type org.example.gaming.foo \ --to-url http://ce-api.foo.example.com/
以下示例显示了将事件发送到 in-cluster 资源:
示例命令
$ kn event send \ --type org.example.kn.ping \ --id $(uuidgen) \ --field event.type=test \ --field event.data=98765 \ --to Service:serving.knative.dev/v1:event-display
-