0

我有一个本地运行的 Dapr 应用程序,使用 Dapr cli 自托管。我已配置 DaprComponentSubscription订阅 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 上发布消息时,不出所料,没有任何反应。

我究竟做错了什么?我读过的所有内容似乎都表明这个设置应该可以工作。

4

1 回答 1

0

我可以通过通过 http 而不是 https 公开我的应用程序来解决这个问题。不幸的是,即使打开了调试级别,也没有记录表明 https 是问题所在。

于 2022-02-22T23:00:44.760 回答