我有一个本地运行的 Dapr 应用程序,使用 Dapr cli 自托管。我已配置 DaprComponent
并Subscription
订阅 Azure 事件中心,详情如下:
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: eventhubs-pubsub
spec:
type: pubsub.azure.eventhubs
version: v1
metadata:
- name: connectionString
value: "Endpoint=sb://[removed].servicebus.windows.net/;SharedAccessKeyName=[removed];SharedAccessKey=[removed];EntityPath=myhub"
- name: enableEntityManagement
value: "false"
- name: storageAccountName
value: "[removed]"
- name: storageAccountKey
value: "[removed]"
- name: storageContainerName
value: "myapp"
scopes:
- myapp
apiVersion: dapr.io/v1alpha1
kind: Subscription
metadata:
name: myhub-subscription
spec:
topic: myhub
route: /EventHubsInput
pubsubname: eventhubs-pubsub
scopes:
- myapp
我已经手动创建了一个名为 Dapr 应用程序 ID -“myapp”的消费者组。
我直接调用了 HTTP 端点——一个POST
返回 200 的动词——它工作正常。它也响应OPTIONS
动词。
应用程序成功启动,没有错误或警告。我可以看到一条记录的消息说:
提供的 INFO[0000] connectionString 特定于事件中心“myhub”。尝试发布或订阅与此事件中心不匹配的主题将失败。app_id=myapp instance=OldManWaterfall scope=dapr.contrib type=log ver=1.6.0
已加载 INFO[0000] 组件。名称:eventhubs-pubsub,类型:pubsub.azure.eventhubs/v1 app_id=myapp instance=OldManWaterfall scope=dapr.runtime type=log ver=1.6.0
没有记录有关 pubsub 的其他消息,也没有指示订阅本身失败或成功的消息。在 storae 容器中没有创建任何内容。如果我从组件中删除与存储相关的配置,则不会报告失败,尽管这些属性是强制性的。当我在 Hub 上发布消息时,不出所料,没有任何反应。
我究竟做错了什么?我读过的所有内容似乎都表明这个设置应该可以工作。