我正在使用 Azure功能通过this指南将 IoTHub 消息提交到 Azure存储。我在第5d节,我需要为我的函数创建一个新的服务总线连接字符串,但无论我使用什么,包括指南中的格式:
Endpoint=<Event Hub-compatible endpoint>;SharedAccessKeyName=iothubowner;SharedAccessKey=<Primary key>
我收到错误:
不是有效的服务总线连接字符串。
我已尝试使用IoT中心端点的Event Hub-compatible endpoint
以及iothubowner访问政策中的connection string –- primary key
,但又拒绝了它。
然后我创建了一个新的服务总线并使用了该连接(请参阅下面的答案和最初的乐观主义!)但是当我尝试编辑该函数时,我收到了404 Toast通知:
函数($ DeviceDataToStorage)错误:函数的监听器 'Functions.DeviceDataToStorage'无法启动。 Microsoft.ServiceBus:消息传递实体'管理操作 失败。 status-code:404,status-description:消息传递实体 'sb:// {我的服务巴士连接线是哪个 <找不到} / {EVENTHUBNAME}'找不到..'找不到。
任何使用过Azure功能的人都可以在建议这需要什么格式之前,或者更重要的是,我可以从门户网站获取这些格式吗?
答案 0 :(得分:3)
我以为我知道了,但我没有。 这就是我的想法,但它并没有
*
它缺少教程,但你需要手动创建一个新的 服务总线端点(见 https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues) 并从中复制
CONNECTIONSTRING-PRIMARYKEY
RootManageSharedAccessKey
的{{1}}政策。
*
答案 1 :(得分:0)
根据您的描述,我检查了这个问题。正如Prepare for IoT Hub connection to read messages所述,您需要为IoT中心端点构建连接字符串,如下所示:
Endpoint={Event Hub-compatible endpoint};SharedAccessKeyName=iothubowner;SharedAccessKey={Primary key}
将 {Event Hub兼容端点} 替换为:
将 {主键} 替换为:
不是有效的服务总线连接字符串。
我假设您在创建新的事件中心连接时遇到此错误,如下所示:
为Event Hub添加新的连接字符串时,它应如下所示:
注意:我认为您对Service Bus连接字符串和IoT Hub连接字符串感到困惑。
Service Bus的连接字符串:
Endpoint=sb://{your-servicebus-name}.servicebus.windows.net/;SharedAccessKeyName={SharedAccessKeyName};SharedAccessKey={SharedAccessKey}