Język

DeviceManagementClient.GetDeviceClassSubgroupDeploymentStatusAsync Method

Definition

[Protocol Method] Gets the status of a deployment including a breakdown of how many devices in the deployment are in progress, completed, or failed.

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

Parameters

groupId
String

Group identifier.

deviceClassId
String

Device class identifier.

deploymentId
String

Deployment identifier.

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 GetDeviceClassSubgroupDeploymentStatusAsync 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);

Response response = await client.GetDeviceClassSubgroupDeploymentStatusAsync("<groupId>", "<deviceClassId>", "<deploymentId>");

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("groupId").ToString());
Console.WriteLine(result.GetProperty("deviceClassId").ToString());
Console.WriteLine(result.GetProperty("deploymentState").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("innererror").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("innererror").GetProperty("errorDetail").ToString());
Console.WriteLine(result.GetProperty("error").GetProperty("occurredDateTime").ToString());
Console.WriteLine(result.GetProperty("totalDevices").ToString());
Console.WriteLine(result.GetProperty("devicesInProgressCount").ToString());
Console.WriteLine(result.GetProperty("devicesCompletedFailedCount").ToString());
Console.WriteLine(result.GetProperty("devicesCompletedSucceededCount").ToString());
Console.WriteLine(result.GetProperty("devicesCanceledCount").ToString());

Remarks

Below is the JSON schema for the response payload.

Response Body:

Schema for DeviceClassSubgroupDeploymentStatus:

{
              groupId: string, # Required. The group identity
              deviceClassId: string, # Required. The device class subgroup identity
              deploymentState: "Active" | "Failed" | "Inactive" | "Canceled", # Required. The state of the subgroup deployment.
              error: {
                code: string, # Required. Server defined error code.
                message: string, # Required. A human-readable representation of the error.
                target: string, # Optional. The target of the error.
                details: [Error], # Optional. An array of errors that led to the reported error.
                innererror: {
                  code: string, # Required. A more specific error code than what was provided by the containing error.
                  message: string, # Optional. A human-readable representation of the error.
                  errorDetail: string, # Optional. The internal error or exception message.
                  innerError: InnerError, # Optional. An object containing more specific information than the current object about the error.
                }, # Optional. An object containing more specific information than the current object about the error.
                occurredDateTime: string (ISO 8601 Format), # Optional. Date and time in UTC when the error occurred.
              }, # Optional. The error details of the Failed state.  This is not present if the deployment state is not Failed.
              totalDevices: number, # Optional. The total number of devices in the deployment.
              devicesInProgressCount: number, # Optional. The number of devices that are currently in deployment.
              devicesCompletedFailedCount: number, # Optional. The number of devices that have completed deployment with a failure.
              devicesCompletedSucceededCount: number, # Optional. The number of devices which have successfully completed deployment.
              devicesCanceledCount: number, # Optional. The number of devices which have had their deployment canceled.
            }

Applies to