如何取消配置iotedge模块并重新连接到不同的iothub

问题描述 投票:0回答:1

我有一个设备当前已配置并连接到 Azure IotHub(假设它是 iothub A)。现在我想断开它与iothub A的连接并连接到iothub B。我查看了

iotedge system
命令,它似乎没有断开连接选项。最接近的是
iotedge deprovision
但它似乎并没有清除现有的 iothub 连接。

我现在正在做的工作是删除 aziot 文件夹中的本地 iotedge 设置文件,并运行

iotedge config mp --connection-string xxxx
以建立新连接。不知道是否有更好的方法来清除当前连接?

azure-iot-hub azure-iot-edge
1个回答
0
投票

以下是从当前 IoT 中心取消配置 IoT 边缘设备的步骤:

导航到 Azure 门户中当前连接 IoT Edge 设备的 IoT 中心。 转到IoT 设备下的设备。找到 IoT Edge 设备,然后禁用该设备以暂时撤销其访问权限,或删除该设备以将其从集线器中永久删除。

Device

导航到链接到 IoT 中心的设备配置服务 (DPS) 实例。转到管理注册并检查设备是否有个人注册。如果是这样,请禁用或删除该条目。 另外,检查设备是否属于注册组

为设备创建禁用的个人注册,或通过删除其注册记录将设备从注册组中删除。

导航至注册或组的注册状态选项卡。如果需要,请使用 Delete 选项或编程 API 手动删除设备的注册记录。

Individual

请参阅此 MSDOC 取消预配使用 Azure IoT 中心设备预配服务预配的设备

请参阅此 MSDOC 从 Azure IoT 中心设备预配服务中取消注册或撤销设备

重新连接设备有两种主要方法:手动配置基于DPS的配置

One way
是通过从 IoTHub B 检索 设备连接字符串来使用连接字符串进行手动配置。

导航到 IoTHub B > IoT 设备 > 添加设备(或使用现有设备条目)。 复制连接字符串并配置 IoT Edge 运行时以使用新的连接字符串:

sudo iotedge config mp --connection-string "HostName=<IoTHubB_Name>.azure-devices.net;DeviceId=<DeviceID>;SharedAccessKey=<Key>" --force

重新启动 IoT Edge 服务:

sudo systemctl restart iotedge

另一种方法是使用

DPS-Based Automatic Provisioning 
打开
/etc/aziot/config.toml
文件并更新配置部分,如下所示:

[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "<DPS ID Scope>"
registration_id = "<Device Registration ID>"
symmetric_key = "<Device Primary Key>"

使用此 GitHub

link
中的示例 device_config.toml

然后运行以下命令以应用存储在

/etc/aziot/config.toml
文件中的更新后的 IoT Edge 配置:

sudo iotedge config apply -c '/etc/aziot/config.toml'

sudo iotedge config apply 保存更改并重新启动 IoT Edge 服务:

sudo systemctl restart iotedge

检查 IoT Edge 服务状态:

sudo systemctl status iotedge

列出设备上运行的 IoT Edge 模块:

sudo iotedge list

输出: sudo iotedge list

sudo iotedge logs edgeAgent

sudo iotedge logs edgeAgent

有关更多详细信息,请参阅此 MSDOC 以使用 dps

配置 Azure IoT Edge 设备设置
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.