azure - Azure IoT Edge 服务未启动
问题描述
我正在尝试使用 IoT Edge。要创建用于开发目的的 IoT Edge 设备,我将按照此处提供的说明进行操作。我可以成功到达上面写着的那一行Start-Service iotedge
。不幸的是,“iotedge”Windows 服务将无法启动。
我可以在服务管理控制台中看到“iotedge”Windows 服务。当我手动单击“开始”时,几秒钟后我收到以下消息:
本地计算机上的 iotedge 服务启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。
当我查看事件查看器时,我在应用程序 Windows 日志中看到以下错误:
找不到来自源 iotedged 的事件 ID 1 的描述。引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复组件。如果事件起源于另一台计算机,则显示信息必须与事件一起保存。事件中包含以下信息:iotedged::windows -- 运行服务时出错。退出。
我在 Boot Camp 分区中运行 Windows 10 Enterprise 版本 1803。
在同一个分区上,我尝试在 Hyper-V 运行的虚拟机上运行 Azure IoT Edge:
- 视窗服务器 2016
- 视窗 10 专业版
在这两种情况下,“iotedge”Windows 服务都无法启动。
我还有一个托管在 Azure 上的虚拟机,它在标准 DS1 v2(1 vcpus,3.5 GB 内存)实例中运行 Windows Server 2016 Datacenter。我无法让 iotedge Windows 服务在那里运行。
iotedge Windows 服务是否在虚拟化环境中运行?即使它没有,该服务也应该在作为实际分区的 Window 10 Enterprise 环境中工作。我错过了什么?
谢谢你。
解决方案
服务启动然后停止的一个原因是 config.yaml 文件中的某些内容不正确。您是否完成了操作指南的配置部分中的步骤?您需要设备连接字符串、边缘设备的主机名、管理和工作负载 API 的“连接”和“侦听”URL,以及 moby 运行时信息。IoT Edge 确实在虚拟化的 Windows 环境中运行——这就是它在团队内部构建基础架构中的测试方式。
推荐阅读
- django - 多租户集中认证服务器
- emmeans - 与 emmeans 的成对比较
- python - Python - 什么更快?使用 opencv 或 pytesseract?
- adobe-xd - XD 插件 API 支持什么语言?
- c# - 参数类型“E”不可分配给参数类型“TE”
- push-notification - Actions on Google - C# 中的推送通知
- arrays - 如何制作Account用户生成器c++(问题:制作对象数组并动态扩展)
- visual-studio-code - 如何在vscode中启用非空白字符后的引号自动完成?
- sql - INSERT INTO 语句中的换行符
- python - 使用 Python 从 c++ dll 返回数据