Język

DeviceManagementClient.GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync Method

Definition

[Protocol Method] Gets a list of devices in a deployment along with their state. Useful for getting a list of failed devices.

  • This protocol method allows explicit creation of the request and processing of the response for advanced scenarios.
public virtual Azure.AsyncPageable<BinaryData> GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync(string groupId, string deviceClassId, string deploymentId, string filter = default, Azure.RequestContext context = default);
abstract member GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync : string * string * string * string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
override this.GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync : string * string * string * string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
Public Overridable Function GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync (groupId As String, deviceClassId As String, deploymentId As String, Optional filter As String = Nothing, Optional context As RequestContext = Nothing) As AsyncPageable(Of BinaryData)

Parameters

groupId
String

Group identifier.

deviceClassId
String

Device class identifier.

deploymentId
String

Deployment identifier.

filter
String

Restricts the set of deployment device states returned. You can filter on deviceId and moduleId and/or deviceState.

context
RequestContext

The request options, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The response returned from the service.

Exceptions

groupId, deviceClassId or deploymentId is null.

groupId, deviceClassId or deploymentId is an empty string, and was expected to be non-empty.

Service returned a non-success status code.

Examples

This sample shows how to call GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync with required parameters and parse the result.

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.GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync("<groupId>", "<deviceClassId>", "<deploymentId>"))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deviceId").ToString());
    Console.WriteLine(result.GetProperty("retryCount").ToString());
    Console.WriteLine(result.GetProperty("movedOnToNewDeployment").ToString());
    Console.WriteLine(result.GetProperty("deviceState").ToString());
}

This sample shows how to call GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync with all parameters, and how to parse the result.

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.GetDeviceStatesForDeviceClassSubgroupDeploymentsAsync("<groupId>", "<deviceClassId>", "<deploymentId>", "<filter>"))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deviceId").ToString());
    Console.WriteLine(result.GetProperty("moduleId").ToString());
    Console.WriteLine(result.GetProperty("retryCount").ToString());
    Console.WriteLine(result.GetProperty("movedOnToNewDeployment").ToString());
    Console.WriteLine(result.GetProperty("deviceState").ToString());
}

Remarks

Below is the JSON schema for one item in the pageable response.

Response Body:

Schema for DeploymentDeviceStatesListValue:

{
              deviceId: string, # Required. Device identity.
              moduleId: string, # Optional. Device module identity.
              retryCount: number, # Required. The number of times this deployment has been retried on this device.
              movedOnToNewDeployment: boolean, # Required. Boolean flag indicating whether this device is in a newer deployment and can no longer retry this deployment.
              deviceState: "Succeeded" | "InProgress" | "Canceled" | "Failed", # Required. Deployment device state.
            }

Applies to