你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
DeviceManagementClient.UpdateDeviceClass 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更新设备类详细信息。
public virtual Azure.Response UpdateDeviceClass (string deviceClassId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member UpdateDeviceClass : string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
override this.UpdateDeviceClass : string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
Public Overridable Function UpdateDeviceClass (deviceClassId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Response
参数
- deviceClassId
- String
设备类标识符。
- content
- RequestContent
要作为请求正文发送的内容。 请求正文架构的详细信息,请参阅下面的“备注”部分。
- context
- RequestContext
请求上下文,它可以基于每个调用替代客户端管道的默认行为。
返回
从服务返回的响应。 响应正文架构的详细信息位于下面的“备注”部分。
例外
deviceClassId
或 content
为 null。
deviceClassId
是一个空字符串,预期为非空。
服务返回了不成功状态代码。
示例
此示例演示如何使用所需的参数调用 UpdateDeviceClass 并请求内容并分析结果。
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);
var data = new {
friendlyName = "<friendlyName>",
};
Response response = client.UpdateDeviceClass("<deviceClassId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("deviceClassId").ToString());
Console.WriteLine(result.GetProperty("friendlyName").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("contractModel").GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("contractModel").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("compatProperties").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("bestCompatibleUpdate").GetProperty("friendlyName").ToString());
注解
下面是请求和响应有效负载的 JSON 架构。
请求正文:
的 PatchBody
架构:
{
friendlyName: string, # Required. The device class friendly name. Friendly name can be 1-100 characters, alphanumeric, dot, and dash.
}
响应正文:
的 DeviceClass
架构:
{
deviceClassId: string, # Required. The device class identifier. This is generated from the model Id and the compat properties reported by the device update agent in the Device Update PnP interface in IoT Hub. It is a hex-encoded SHA1 hash.
friendlyName: string, # Optional. The device class friendly name. This can be updated by callers after the device class has been automatically created.
deviceClassProperties: {
contractModel: {
id: string, # Required. The Device Update agent contract model Id of the device class. This is also used to calculate the device class Id.
name: string, # Required. The Device Update agent contract model name of the device class. Intended to be a more readable form of the contract model Id.
}, # Optional. The Device Update agent contract model.
compatProperties: Dictionary<string, string>, # Required. The compat properties of the device class. This object can be thought of as a set of key-value pairs where the key is the name of the compatibility property and the value is the value of the compatibility property. There will always be at least 1 compat property
}, # Required. The device class properties that are used to calculate the device class Id
bestCompatibleUpdate: {
updateId: {
provider: string, # Required. Update provider.
name: string, # Required. Update name.
version: string, # Required. Update version.
}, # Required. Update identifier.
description: string, # Optional. Update description.
friendlyName: string, # Optional. Friendly update name.
}, # Optional. Update that is the highest version compatible with this device class.
}