每次我的 IoT 中心收到一批 64 条消息(或者其他什么,数字并不重要)时,我都会尝试触发一个 java 函数。我关注了这个guide创建基本代码,然后我编辑创建此函数
public class Function {
@FunctionName("ProcessIotMessages")
public void processIotMessages(
@EventHubTrigger(name = "message",
eventHubName = "samples-workitems",
connection = "HUB-1544-DEV_events_IOTHUB") List<String> messages,
final ExecutionContext context) {...Function Logic...}
}
connection 参数是 IoT 中心连接字符串,格式为事件中心兼容终结点(例如 Endpoint=sb://iothub-hostname-blablabla)。
我使用上面链接的指南中指定的 Maven 插件打包和部署此代码。部署工作正常,我可以看到 mi 功能正常启动并运行,门户中没有错误,HUB-1544-DEV_events_IOTHUB 设置应用程序已使用正确的连接字符串正确创建。
我在传送门中注意到的唯一奇怪的事情是扳机 Blade 。正如你所看到的,基数是一,而它应该设置为很多,因为我没有在函数中指定基数参数。默认的就是很多按照这个guide 。这让我认为我无法传递正确的触发器语法。
无论如何,问题是该功能不是从我的本地计算机或门户启动的。有什么建议么?谢谢
最佳答案
正如 @evilSnobu 在评论中发布的那样,问题出在事件中心名称上。只需转到门户 -> 您的 IoT 中心 -> 内置端点
,然后找到在其中配置触发器的所有信息。
关于具有 IoT 中心触发器的 Java Azure 函数未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59264477/