首页 文章

Azure功能中的服务总线连接字符串被拒绝

提问于
浏览
1

我正在通过this指南使用 Azure FunctionsIoTHub 消息提交到 Azure storage . 我在第5d节,我需要为我的函数创建一个新的服务总线连接字符串,但无论我使用什么,包括指南中的格式:

Endpoint=<Event Hub-compatible endpoint>;SharedAccessKeyName=iothubowner;SharedAccessKey=<Primary key>

我收到错误:

不是有效的服务总线连接字符串 .

我尝试使用IoT集线器 endpoints 上的 Event Hub-compatible endpoint 以及iothubowner的访问策略中的 connection string –- primary key ,但它再次拒绝它 .

然后我创建了一个新的服务总线并使用了该连接(请参阅下面的答案和最初的乐观主义!)但是当我尝试编辑该函数时,我收到了404 Toast通知:

Function($ DeviceDataToStorage)错误:函数'Functions.DeviceDataToStorage'的侦听器无法启动 . Microsoft.ServiceBus:消息传递实体'管理操作失败 . status-code:404,status-description:无法找到消息传递实体'sb:// {我的服务总线连接字符串已被接受} / '找不到...

任何使用过Azure功能的人都可以在建议这需要什么格式之前,或者更重要的是在门户网站中我可以从中获得这些格式吗?

2 回答

  • 3

    根据你的描述,我检查了这个问题 . 正如Prepare for IoT Hub connection to read messages所述,您需要为IoT中心 endpoints 构建连接字符串,如下所示:

    Endpoint={Event Hub-compatible endpoint};SharedAccessKeyName=iothubowner;SharedAccessKey={Primary key}

    替换为:

    enter image description here

    替换为:

    enter image description here

    不是有效的服务总线连接字符串 .

    我假设您在创建新的 Event Hub connection 时遇到此错误,如下所示:

    enter image description here

    为Event Hub添加新连接字符串时,它应如下所示:

    enter image description here

    Note: 我认为您已经与Service Bus连接字符串和IoT Hub连接字符串混淆了 .

    Service Bus的连接字符串:

    Endpoint=sb://{your-servicebus-name}.servicebus.windows.net/;SharedAccessKeyName={SharedAccessKeyName};SharedAccessKey={SharedAccessKey}

  • 0

    以为我想出来了,但我没有 . 这是我认为有用的,但事实并非如此

    它缺少教程,但您需要手动创建新的服务总线 endpoints (请参阅https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get- begin-with-queues)并从共享访问策略的RootManageSharedAccessKey策略中复制CONNECTIONSTRING-PRIMARYKEY .

相关问题