0

最近我在 IoT Central 应用程序中看到,如果我创建一个新的设备模板,我们会得到一个格式为“dtmi:iosIotCentralApp:DeviceTestTemplate21i;1”的接口 id。如果我将它用于 DeviceProvisioning 函数作为 cmid,那么我在 Azure 函数中出现以下错误“如果您想在数据下传递 __iot:interfaces 部分,请遵循架构。格式:'__iot:interfaces':{'CapabilityModelId': urn :companyname:template:templatename:version, 'CapabilityModel': '接口和能力模型的内联内容。'}"

如果我以 (urn:companyname:template:templatename:version) 格式手动创建 cmid,则设备已配置但未分配给特定的设备模板。

我正在使用以下 API 在 Azure 函数中注册

放置https://global.azure-devices-provisioning.net/{idScope}/registrations/{registrationId}/register?api-version=2019-03-31

用于设备配置的 API 是否有任何更改,或者我遗漏了什么?

4

1 回答 1

0

这个问题与我在这里的回答有关。

以下是用于传递模型 id 的 DPS 有效负载:

{
  "registrationId":"yourDeviceId",
  "payload": {
     "modelId": "yourDeviceTemplateModelId"
   }
}

在IoT 即插即用设备开发人员指南中查看更多详细信息。

于 2021-06-15T17:22:17.030 回答