Compartilhar via


DeviceManagementClient.GetDeploymentsForDeviceClassSubgroupsAsync Método

Definição

Obtém uma lista de implantações para um subgrupo de classe de dispositivo.

public virtual Azure.AsyncPageable<BinaryData> GetDeploymentsForDeviceClassSubgroupsAsync (string groupId, string deviceClassId, string orderBy = default, Azure.RequestContext context = default);
abstract member GetDeploymentsForDeviceClassSubgroupsAsync : string * string * string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
override this.GetDeploymentsForDeviceClassSubgroupsAsync : string * string * string * Azure.RequestContext -> Azure.AsyncPageable<BinaryData>
Public Overridable Function GetDeploymentsForDeviceClassSubgroupsAsync (groupId As String, deviceClassId As String, Optional orderBy As String = Nothing, Optional context As RequestContext = Nothing) As AsyncPageable(Of BinaryData)

Parâmetros

groupId
String

Identificador de grupo.

deviceClassId
String

Identificador de classe de dispositivo.

orderBy
String

Ordena o conjunto de implantações retornado. Você pode solicitar por data de início.

context
RequestContext

O contexto de solicitação, que pode substituir os comportamentos padrão do pipeline do cliente por chamada.

Retornos

O AsyncPageable<T> do serviço que contém uma lista de BinaryData objetos. Os detalhes do esquema do corpo de cada item na coleção estão na seção Comentários abaixo.

Exceções

groupId ou deviceClassId é nulo.

groupId ou deviceClassId é uma cadeia de caracteres vazia e esperava-se que não estivesse vazia.

O serviço retornou um código de status sem êxito.

Exemplos

Este exemplo mostra como chamar GetDeploymentsForDeviceClassSubgroupsAsync com os parâmetros necessários e analisar o resultado.

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.GetDeploymentsForDeviceClassSubgroupsAsync("<groupId>", "<deviceClassId>"))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deploymentId").ToString());
    Console.WriteLine(result.GetProperty("startDateTime").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
    Console.WriteLine(result.GetProperty("groupId").ToString());
}

Este exemplo mostra como chamar GetDeploymentsForDeviceClassSubgroupsAsync com todos os parâmetros e como analisar o resultado.

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.GetDeploymentsForDeviceClassSubgroupsAsync("<groupId>", "<deviceClassId>", "<orderBy>"))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("deploymentId").ToString());
    Console.WriteLine(result.GetProperty("startDateTime").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("description").ToString());
    Console.WriteLine(result.GetProperty("update").GetProperty("friendlyName").ToString());
    Console.WriteLine(result.GetProperty("groupId").ToString());
    Console.WriteLine(result.GetProperty("deviceClassSubgroups")[0].ToString());
    Console.WriteLine(result.GetProperty("isCanceled").ToString());
    Console.WriteLine(result.GetProperty("isRetried").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("updateId").GetProperty("provider").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("updateId").GetProperty("name").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("updateId").GetProperty("version").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("description").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("update").GetProperty("friendlyName").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("failure").GetProperty("devicesFailedPercentage").ToString());
    Console.WriteLine(result.GetProperty("rollbackPolicy").GetProperty("failure").GetProperty("devicesFailedCount").ToString());
    Console.WriteLine(result.GetProperty("isCloudInitiatedRollback").ToString());
}

Comentários

Abaixo está o esquema JSON de um item na resposta paginável.

Corpo da resposta:

Esquema para DeploymentsListValue:

{
              deploymentId: string, # Required. The caller-provided deployment identifier. This cannot be longer than 73 characters, must be all lower-case, and cannot contain '&', '^', '[', ']', '{', '}', '|', '<', '>', forward slash, backslash, or double quote. The Updates view in the Azure Portal IoT Hub resource generates a GUID for deploymentId when you create a deployment.
              startDateTime: string (ISO 8601 Format), # Required. The deployment start datetime.
              update: {
                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.
              }, # Required. Update information for the update in the deployment.
              groupId: string, # Required. The group identity for the devices the deployment is intended to update.
              deviceClassSubgroups: [string], # Optional. The device class subgroups the deployment is compatible with and subgroup deployments have been created for. This is not provided by the caller during CreateOrUpdateDeployment but is automatically determined by Device Update
              isCanceled: boolean, # Optional. Boolean flag indicating whether the deployment was canceled.
              isRetried: boolean, # Optional. Boolean flag indicating whether the deployment has been retried.
              rollbackPolicy: {
                update: UpdateInfo, # Required. Update to rollback to.
                failure: {
                  devicesFailedPercentage: number, # Required. Percentage of devices that failed.
                  devicesFailedCount: number, # Required. Number of devices that failed.
                }, # Required. Failure conditions to initiate rollback policy.
              }, # Optional. The rollback policy for the deployment.
              isCloudInitiatedRollback: boolean, # Optional. Boolean flag indicating whether the deployment is a rollback deployment.
            }

Aplica-se a