如何在 Dapr Pub/Sub 组件中以声明方式订阅多个主题?

问题描述

Dapr 已经允许我们subscribe multiple apps to a topic declaratively

但我们能否仅使用一个 subscription.yaml 文件以声明方式为应用订阅多个主题

类似于:

apiVersion: dapr.io/v1alpha1
kind: Subscription
Metadata:
  name: myevent-subscription
spec:
- topic: newOrder
  route: /orders
  pubsubname: pubsub
- topic: newProduct
  route: /productCatalog/products
  pubsubname: pubsub
scopes:
- myapp

我知道如何subscribe an app to multiple topics programmatically,但是“声明式方法从您的代码删除了 Dapr 依赖项,并允许例如现有应用程序订阅主题,而无需更改代码¹ 这就是我想要的。

解决方法

您应该能够在一个文件中包含多个订阅条目,当然对于 Kubernetes 部署来说,就像这样。

apiVersion: dapr.io/v1alpha1
kind: Subscription
metadata:
  name: orders-subscription
spec:
  topic: newOrder
  route: /orders
  pubsubname: pubsub
scopes:
- app1
- app2

---

apiVersion: dapr.io/v1alpha1
kind: Subscription
metadata:
  name: products-subscription
spec:
  topic: newProduct
  route: /productCatalog/products
  pubsubname: pubsub
scopes:
- app1
- app2

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...