无法在 Dapr 中为事件中心主题创建工作订阅
Unable to create working subscription for Event Hub topic in Dapr
我在本地有一个 Dapr 应用程序 运行,使用 Dapr cli 自托管。我已经配置了一个 Dapr Component
和 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 provided is specific to event hub "myhub". Publishing or subscribing to a topic that does not match this event hub will fail when attempted. app_id=myapp instance=OldManWaterfall scope=dapr.contrib type=log ver=1.6.0
INFO[0000] component loaded. name: eventhubs-pubsub, type: pubsub.azure.eventhubs/v1 app_id=myapp instance=OldManWaterfall scope=dapr.runtime type=log ver=1.6.0
没有记录有关 pubsub 的其他消息,也没有消息指示订阅本身失败或成功。 storgae 容器中没有创建任何内容。如果我从组件中删除与存储相关的配置,则不会报告任何故障,尽管这些属性是强制性的。当我在集线器上发送消息时,不出所料没有任何反应。
我做错了什么?我读过的所有内容似乎都表明此设置应该有效。
我能够通过 http 而不是 https 公开我的应用程序来解决这个问题。不幸的是,即使打开了调试级别,也没有日志记录表明 https 是问题所在。
我在本地有一个 Dapr 应用程序 运行,使用 Dapr cli 自托管。我已经配置了一个 Dapr Component
和 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 provided is specific to event hub "myhub". Publishing or subscribing to a topic that does not match this event hub will fail when attempted. app_id=myapp instance=OldManWaterfall scope=dapr.contrib type=log ver=1.6.0
INFO[0000] component loaded. name: eventhubs-pubsub, type: pubsub.azure.eventhubs/v1 app_id=myapp instance=OldManWaterfall scope=dapr.runtime type=log ver=1.6.0
没有记录有关 pubsub 的其他消息,也没有消息指示订阅本身失败或成功。 storgae 容器中没有创建任何内容。如果我从组件中删除与存储相关的配置,则不会报告任何故障,尽管这些属性是强制性的。当我在集线器上发送消息时,不出所料没有任何反应。
我做错了什么?我读过的所有内容似乎都表明此设置应该有效。
我能够通过 http 而不是 https 公开我的应用程序来解决这个问题。不幸的是,即使打开了调试级别,也没有日志记录表明 https 是问题所在。