如何在Raspberry Pi上将Azure功能作为IoT边缘模块运行?

时间:2018-01-22 10:55:50

标签: azure docker raspberry-pi azure-functions azure-iot-edge

我正在寻找能够成功跟踪Microsoft(https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-function)和Jon Gallant(https://blog.jongallant.com/2017/11/azure-iot-edge-raspberrypi/)文档的人。

在遵循整个文档以在Docker容器中托管的Raspberry PI上获得有效的Azure功能之后,该功能不起作用,并且edgeAgent日志仅包含函数无法启动的信息。为了找出发生的情况,我设置了如下所述的调试环境:https://docs.microsoft.com/en-us/azure/iot-edge/how-to-vscode-debug-azure-function但没有任何作用。在击中最后一个F5(如其描述)后,我得到错误,即docker容器不存在。

3 个答案:

答案 0 :(得分:2)

是的,Dariusz是对的。

所以,我去检查Azure Functions Runtime的状态,好消息是他们现在有一个ARM运行时版本。 ARM的https://hub.docker.com/r/microsoft/azure-functions-runtime/tags/。 所以,我们只需要更新我们的Binding并开始为Arm发布我们的图像。 我打开这个GitHub问题来处理状态: https://github.com/Azure/iot-edge/issues/485

更新:我们发布了1.0.0-preview022,它有适用于Rasberry pi的功能的ARM版本!如果您发现任何问题,请告诉我们。我们应该尽快更新我们的VS代码模板。

答案 1 :(得分:1)

截至今天,ARM尚未发布Azure功能映像。如果您查看docker hub url https://hub.docker.com/r/microsoft/azureiotedge-functions-binding/tags/,则只能使用Windows Nano容器和Linux x64容器。

答案 2 :(得分:0)

我使用Azure容器注册表通过IoT Edge部署了在Raspberry Pi 3 B +上运行的Azure功能。它说,当我键入“ sudo iotedge list”时,它正在运行,但是我试图弄清楚如何触发它。目前,当我执行“ curl --request POST”时,会收到“ 301 Move Permanently”响应。

如果这是您要实现的目标,请告诉我,我可以分享具有复制步骤的博客。

EDIT 我现在可以从本地Raspberry Pi触发它,该树莓派是通过Windows机器推送的Azure IoT Edge部署的!

再次编辑 https://azureiotedgeraspberrypi3.wordpress.com/