Compartir a través de


DeviceManagementClient.GetOperationStatusAsync Método

Definición

Recuperar el estado de la operación.

public virtual System.Threading.Tasks.Task<Azure.Response> GetOperationStatusAsync(string operationId, Azure.ETag? ifNoneMatch = default, Azure.RequestContext context = default);
abstract member GetOperationStatusAsync : string * Nullable<Azure.ETag> * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.GetOperationStatusAsync : string * Nullable<Azure.ETag> * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function GetOperationStatusAsync (operationId As String, Optional ifNoneMatch As Nullable(Of ETag) = Nothing, Optional context As RequestContext = Nothing) As Task(Of Response)

Parámetros

operationId
String

Identificador de operación.

ifNoneMatch
Nullable<ETag>

Define la condición If-None-Match. La operación solo se realizará si la etiqueta ETag del servidor no coincide con este valor.

context
RequestContext

Contexto de solicitud, que puede invalidar los comportamientos predeterminados de la canalización de cliente por llamada.

Devoluciones

Respuesta devuelta desde el servicio. Los detalles del esquema del cuerpo de la respuesta se encuentran en la sección Comentarios a continuación.

Excepciones

operationId es null.

operationId es una cadena vacía y se espera que no esté vacía.

El servicio devolvió un código de estado no correcto.

Ejemplos

En este ejemplo se muestra cómo llamar a GetOperationStatusAsync con los parámetros necesarios y analizar el resultado.

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

Response response = await client.GetOperationStatusAsync("<operationId>");

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("operationId").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("lastActionDateTime").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());

En este ejemplo se muestra cómo llamar a GetOperationStatusAsync con todos los parámetros y cómo analizar el resultado.

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

Response response = await client.GetOperationStatusAsync("<operationId>", null);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("operationId").ToString());
Console.WriteLine(result.GetProperty("status").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("traceId").ToString());
Console.WriteLine(result.GetProperty("lastActionDateTime").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("etag").ToString());

Comentarios

A continuación se muestra el esquema JSON para la carga de respuesta.

Cuerpo de la respuesta:

Esquema para DeviceOperation:

{
              operationId: string, # Required. Operation Id.
              status: "NotStarted" | "Running" | "Succeeded" | "Failed", # Required. Operation status.
              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. Operation error encountered, if any.
              traceId: string, # Optional. Operation correlation identity that can used by Microsoft Support for troubleshooting.
              lastActionDateTime: string (ISO 8601 Format), # Required. Date and time in UTC when the operation status was last updated.
              createdDateTime: string (ISO 8601 Format), # Required. Date and time in UTC when the operation was created.
              etag: string, # Optional. Operation ETag.
            }

Se aplica a