我正在通过this指南使用 Azure Functions 将 IoTHub 消息提交到 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 回答
根据你的描述,我检查了这个问题 . 正如Prepare for IoT Hub connection to read messages所述,您需要为IoT中心 endpoints 构建连接字符串,如下所示:
Endpoint={Event Hub-compatible endpoint};SharedAccessKeyName=iothubowner;SharedAccessKey={Primary key}
将 替换为:
将 替换为:
我假设您在创建新的 Event Hub connection 时遇到此错误,如下所示:
为Event Hub添加新连接字符串时,它应如下所示:
Note: 我认为您已经与Service Bus连接字符串和IoT Hub连接字符串混淆了 .
Service Bus的连接字符串:
Endpoint=sb://{your-servicebus-name}.servicebus.windows.net/;SharedAccessKeyName={SharedAccessKeyName};SharedAccessKey={SharedAccessKey}
以为我想出来了,但我没有 . 这是我认为有用的,但事实并非如此