DeviceManagementClient.GetDeviceClassesAsync(String, RequestContext) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine Liste aller Geräteklassen ab (Gerätegruppen, die mit denselben Updates kompatibel sind, basierend auf der Modell-ID und den Compat-Eigenschaften, die in der Device Update PnP-Schnittstelle in IoT Hub gemeldet werden) für alle Geräte, die mit Device Update für IoT Hub verbunden sind.
public virtual Azure.AsyncPageable<BinaryData> GetDeviceClassesAsync (string filter = default, Azure.RequestContext context = default);
abstract member GetDeviceClassesAsync : string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
override this.GetDeviceClassesAsync : string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
Public Overridable Function GetDeviceClassesAsync (Optional filter As String = Nothing, Optional context As RequestContext = Nothing) As AsyncPageable(Of BinaryData)
Parameter
- filter
- String
Schränkt den Satz der zurückgegebenen Geräteklassen ein. Sie können nach Anzeigenamen filtern.
- context
- RequestContext
Der Anforderungskontext, der das Standardverhalten der Clientpipeline pro Aufruf außer Kraft setzen kann.
Gibt zurück
Der AsyncPageable<T> aus dem Dienst, der eine Liste von BinaryData -Objekten enthält. Details zum Textkörperschema für jedes Element in der Auflistung finden Sie im Abschnitt Hinweise unten.
Ausnahmen
Der Dienst hat einen nicht erfolgreichen status Code zurückgegeben.
Beispiele
In diesem Beispiel wird gezeigt, wie Sie GetDeviceClassesAsync aufrufen und das Ergebnis analysieren.
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);
await foreach (var data in client.GetDeviceClassesAsync())
{
JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
Console.WriteLine(result.GetProperty("deviceClassId").ToString());
Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("compatProperties").GetProperty("<test>").ToString());
}
In diesem Beispiel wird gezeigt, wie Sie GetDeviceClassesAsync mit allen Parametern aufrufen und das Ergebnis analysieren.
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);
await foreach (var data in client.GetDeviceClassesAsync("<filter>"))
{
JsonElement result = JsonDocument.Parse(data.ToStream()).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());
}
Hinweise
Im Folgenden finden Sie das JSON-Schema für ein Element in der auslagerungsfähigen Antwort.
Antworttext:
Schema für DeviceClassesListValue
:
{
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.
}
Gilt für:
Azure SDK for .NET