Compartir a través de


DeviceUpdateClient.StartImportUpdateAsync Método

Definición

Importe la nueva versión de actualización. Se trata de una operación de larga duración; use Operation-Location valor del encabezado de respuesta para comprobar el estado de la operación.

public virtual System.Threading.Tasks.Task<Azure.Operation> StartImportUpdateAsync(Azure.WaitUntil waitUntil, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member StartImportUpdateAsync : Azure.WaitUntil * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation>
override this.StartImportUpdateAsync : Azure.WaitUntil * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Operation>
Public Overridable Function StartImportUpdateAsync (waitUntil As WaitUntil, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Operation)

Parámetros

waitUntil
WaitUntil

Completed si el método debe esperar a que se devuelva hasta que se haya completado la operación de larga duración en el servicio; Started si debe devolverse después de iniciar la operación. Para más información sobre las operaciones de larga duración, consulte Ejemplos de operaciones de azure.Core Long-Running.

content
RequestContent

Contenido que se va a enviar como el cuerpo de la solicitud. Los detalles del esquema del cuerpo de la solicitud se encuentran en la sección Comentarios a continuación.

context
RequestContext

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

Devoluciones

que Operation representa una operación asincrónica en el servicio.

Excepciones

content es null.

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

Ejemplos

En este ejemplo se muestra cómo llamar a StartImportUpdateAsync con los parámetros necesarios y el contenido de la solicitud.

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

var data = new[] {
    new {
        importManifest = new {
            url = "<url>",
            sizeInBytes = 1234L,
            hashes = new {
                key = "<String>",
            },
        },
        friendlyName = "<friendlyName>",
        files = new[] {
            new {
                filename = "<filename>",
                url = "<url>",
            }
        },
    }
};

var operation = await client.StartImportUpdateAsync(WaitUntil.Completed, RequestContent.Create(data));

var response = await operation.WaitForCompletionResponseAsync();
Console.WriteLine(response.Status)

Comentarios

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

Cuerpo de la solicitud:

Esquema para ImportUpdateInputItem:

{
              importManifest: {
                url: string, # Required. Azure Blob location from which the import manifest can be downloaded by Device Update for IoT Hub. This is typically a read-only SAS-protected blob URL with an expiration set to at least 4 hours.
                sizeInBytes: number, # Required. File size in number of bytes.
                hashes: Dictionary<string, string>, # Required. A JSON object containing the hash(es) of the file. At least SHA256 hash is required. This object can be thought of as a set of key-value pairs where the key is the hash algorithm, and the value is the hash of the file calculated using that algorithm.
              }, # Required. Import manifest metadata like source URL, file size/hashes, etc.
              friendlyName: string, # Optional. Friendly update name.
              files: [
                {
                  filename: string, # Required. Update file name as specified inside import manifest.
                  url: string, # Required. Azure Blob location from which the update file can be downloaded by Device Update for IoT Hub. This is typically a read-only SAS-protected blob URL with an expiration set to at least 4 hours.
                }
              ], # Optional. One or more update file properties like filename and source URL.
            }

Se aplica a