10.3. 使用订阅将事件从频道发送到 sink

订阅向频道的事件 sink 提供订阅。

10.3.1. 创建订阅

您可以创建订阅将服务或其他事件 sink 连接到频道。

重要

Knative Eventing 是一个技术预览功能。InMemoryChannel 类型仅用于开发环境,不应在生产环境中使用。

先决条件

流程

  1. 通过创建一个包含以下内容的 YAML 文件,创建一个 Subscription 对象来连接频道到服务:

    apiVersion: messaging.knative.dev/v1beta1
    kind: Subscription
    metadata:
      name: my-subscription 1
      namespace: default
    spec:
      channel: 2
        apiVersion: messaging.knative.dev/v1beta1
        kind: Channel
        name: example-channel
      delivery: 3
        deadLetterSink:
          ref:
            apiVersion: serving.knative.dev/v1
            kind: Service
            name: error-handler
      subscriber: 4
        ref:
          apiVersion: serving.knative.dev/v1
          kind: Service
          name: event-display
    1
    订阅的名称。
    2
    订阅连接的频道的配置设置。
    3
    事件交付的配置设置。这会告诉订阅无法发送给订阅者的事件。配置后,消耗的事件会发送到 deadLetterSink。事件将被丢弃,不会尝试重新发送该事件,并在系统中记录错误。deadLetterSink 的值需要是一个 Destination
    4
    订阅用户的配置设置。这是事件从频道发送的事件 sink。
  2. 输入以下内容应用 YAML 文件:

    $ oc apply -f <filename>