Azure 函数中的服务总线连接字符串被拒绝

Service Bus Connection String in Azure function is rejected

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

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

我收到错误:

Not a valid service bus connection string.

我已经尝试使用来自我的 IoT 中心端点的 Event Hub-compatible endpoint 以及来自 iothubowner 的访问策略的 connection string –- primary key 但它再次拒绝了它。

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

Function ($DeviceDataToStorage) Error: The listener for function 'Functions.DeviceDataToStorage' was unable to start. Microsoft.ServiceBus: The messaging entity 'Management operation failed. status-code: 404, status-description: The messaging entity 'sb://{MY SERVICE BUS CONNECTION STRING WHICH WAS ACCEPTED}/{EVENTHUBNAME}' could not be found..' could not be found.

之前使用过 Azure 函数的任何人都可以告诉我这需要采用什么格式,或者更重要的是我可以从门户中的确切位置获得它吗?

以为我明白了,但我没有。 这是我认为有效的方法,但它没有

*

Its missing from the tutorial, but you need to manually create a new service bus endpoint (see https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues) and copy the CONNECTIONSTRING-PRIMARYKEY from the RootManageSharedAccessKey policy of Shared Access Policies.

*

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

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

{事件Hub-compatible端点}替换为:

{主键}替换为:

Not a valid service bus connection string.

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

为事件中心添加新的连接字符串时,它应该如下所示:

注意:我假设您混淆了服务总线连接字符串和 IoT 中心连接字符串。

服务总线的连接字符串:

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