首页 > 解决方案 > 带有 IoT 中心触发器的 Java Azure 函数未启动

问题描述

每次我的 IoT 中心收到一批 64 条消息(或其他任何消息,数量并不重要)时,我都会尝试触发一个 java 函数。我按照本指南创建基本代码,然后编辑创建此函数

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...}
}

连接参数是格式化为事件中心兼容端点的 IoT 中心连接字符串(例如 Endpoint=sb://iothub-hostname-blablabla)。

我使用上面链接的指南中指定的 Maven 插件打包和部署此代码。部署工作正常,我可以从门户看到 mi 功能正常运行,HUB-1544-DEV_events_IOTHUB 设置应用程序使用正确的连接字符串正确创建。

我在传送门中注意到的唯一奇怪的东西是扳机刀片。如您所见,基数是一,而它应该设置为多,因为我没有在函数中指定基数参数。根据本指南,默认值为 many 。这让我觉得我无法传递正确的触发器语法。

无论如何,问题是这个功能不是从我的本地机器或门户开始的。有什么建议么?谢谢

标签: javaazureazure-functionsazure-iot-hubazure-triggers

解决方案


正如@evilSnobu 在评论中发布的那样,问题出在事件中心名称上。只需转到Portal -> your IoT Hub -> Built-in endpoints并找到所有信息以在其中配置触发器。


推荐阅读