DeviceManagementClient.GetDeviceClasses(String, RequestContext) メソッド

定義

device Update for IoT Hubに接続されているすべてのデバイスについて、すべてのデバイス クラス (IoT Hub の Device Update PnP インターフェイスで報告されるモデル ID と互換性のあるプロパティに基づいて、同じ更新プログラムと互換性のあるデバイスのセット) の一覧を取得します。

public virtual Azure.Pageable<BinaryData> GetDeviceClasses (string filter = default, Azure.RequestContext context = default);
abstract member GetDeviceClasses : string * Azure.RequestContext -> Azure.Pageable<BinaryData>
override this.GetDeviceClasses : string * Azure.RequestContext -> Azure.Pageable<BinaryData>
Public Overridable Function GetDeviceClasses (Optional filter As String = Nothing, Optional context As RequestContext = Nothing) As Pageable(Of BinaryData)

パラメーター

filter
String

返されるデバイス クラスのセットを制限します。 フレンドリ名でフィルター処理できます。

context
RequestContext

要求コンテキスト。これは、呼び出しごとにクライアント パイプラインの既定の動作をオーバーライドできます。

戻り値

Pageable<T>オブジェクトの一覧を含むサービスの BinaryData 。 コレクション内の各項目の本文スキーマの詳細については、以下の「解説」セクションを参照してください。

例外

サービスから成功以外の状態コードが返されました。

このサンプルでは、GetDeviceClasses を呼び出して結果を解析する方法を示します。

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);

foreach (var data in client.GetDeviceClasses())
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deviceClassId").ToString());
    Console.WriteLine(result.GetProperty("deviceClassProperties").GetProperty("compatProperties").GetProperty("<test>").ToString());
}

このサンプルでは、すべてのパラメーターを使用して GetDeviceClasses を呼び出す方法と、結果を解析する方法を示します。

var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceManagementClient(endpoint, "<instanceId>", credential);

foreach (var data in client.GetDeviceClasses("<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());
}

注釈

ページング可能な応答の 1 つの項目の JSON スキーマを次に示します。

応答本文:

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.
            }

適用対象