Partager via


DeviceManagementClient.GetDevices(String, RequestContext) Méthode

Définition

Obtient la liste des appareils connectés à Device Update pour IoT Hub.

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

Paramètres

filter
String

Restreint l’ensemble des appareils retournés. Vous pouvez filtrer sur GroupId, DeviceClassId ou GroupId et DeploymentStatus. Utilisez DeploymentStatus eq null pour interroger les appareils sans status de déploiement (qui n’ont jamais été déployés sur).

context
RequestContext

Contexte de la demande, qui peut remplacer les comportements par défaut du pipeline client par appel.

Retours

du Pageable<T> service contenant une liste d’objets BinaryData . Les détails du schéma de corps pour chaque élément de la collection sont décrits dans la section Remarques ci-dessous.

Exceptions

Le service a retourné un code de status non réussi.

Exemples

Cet exemple montre comment appeler GetDevices et analyser le résultat.

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.GetDevices())
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deviceId").ToString());
    Console.WriteLine(result.GetProperty("deviceClassId").ToString());
    Console.WriteLine(result.GetProperty("onLatestUpdate").ToString());
}

Cet exemple montre comment appeler GetDevices avec tous les paramètres et comment analyser le résultat.

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.GetDevices("<filter>"))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deviceId").ToString());
    Console.WriteLine(result.GetProperty("moduleId").ToString());
    Console.WriteLine(result.GetProperty("deviceClassId").ToString());
    Console.WriteLine(result.GetProperty("groupId").ToString());
    Console.WriteLine(result.GetProperty("lastAttemptedUpdate").GetProperty("updateId").GetProperty("provider").ToString());
    Console.WriteLine(result.GetProperty("lastAttemptedUpdate").GetProperty("updateId").GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("lastAttemptedUpdate").GetProperty("updateId").GetProperty("version").ToString());
    Console.WriteLine(result.GetProperty("lastAttemptedUpdate").GetProperty("description").ToString());
    Console.WriteLine(result.GetProperty("lastAttemptedUpdate").GetProperty("friendlyName").ToString());
    Console.WriteLine(result.GetProperty("deploymentStatus").ToString());
    Console.WriteLine(result.GetProperty("installedUpdate").GetProperty("updateId").GetProperty("provider").ToString());
    Console.WriteLine(result.GetProperty("installedUpdate").GetProperty("updateId").GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("installedUpdate").GetProperty("updateId").GetProperty("version").ToString());
    Console.WriteLine(result.GetProperty("installedUpdate").GetProperty("description").ToString());
    Console.WriteLine(result.GetProperty("installedUpdate").GetProperty("friendlyName").ToString());
    Console.WriteLine(result.GetProperty("onLatestUpdate").ToString());
    Console.WriteLine(result.GetProperty("lastDeploymentId").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("resultCode").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("extendedResultCode").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("resultDetails").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("update").GetProperty("description").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("update").GetProperty("friendlyName").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("description").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("resultCode").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("extendedResultCode").ToString());
    Console.WriteLine(result.GetProperty("lastInstallResult").GetProperty("stepResults")[0].GetProperty("resultDetails").ToString());
}

Remarques

Voici le schéma JSON d’un élément de la réponse paginable.

Corps de réponse :

Schéma pour DevicesListValue:

{
              deviceId: string, # Required. Device identity.
              moduleId: string, # Optional. Device module identity.
              deviceClassId: string, # Required. Device class identity.
              groupId: string, # Optional. Device group identity.
              lastAttemptedUpdate: {
                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. The update that device last attempted to install.
              deploymentStatus: "Succeeded" | "InProgress" | "Canceled" | "Failed", # Optional. State of the device in its last deployment.
              installedUpdate: UpdateInfo, # Optional. Currently installed update on device.
              onLatestUpdate: boolean, # Required. Boolean flag indicating whether the latest update (the best compatible update for the device's device class and group) is installed on the device
              lastDeploymentId: string, # Optional. The deployment identifier for the last deployment to the device
              lastInstallResult: {
                resultCode: number, # Required. Install result code.
                extendedResultCode: number, # Required. Install extended result code
                resultDetails: string, # Optional. A string containing further details about the install result
                stepResults: [
                  {
                    update: UpdateInfo, # Optional. The update that this step installs if it is of reference type.
                    description: string, # Optional. Step description.
                    resultCode: number, # Required. Install result code.
                    extendedResultCode: number, # Required. Install extended result code
                    resultDetails: string, # Optional. A string containing further details about the install result
                  }
                ], # Optional. Array of step results
              }, # Optional. Last install result.
            }

S’applique à