Partager via


DeviceUpdateClient.StartImportUpdateAsync Méthode

Définition

Importez la nouvelle version de mise à jour. Il s’agit d’une opération de longue durée; utilisez Operation-Location valeur d’en-tête de réponse pour case activée pour les status d’opération.

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)

Paramètres

waitUntil
WaitUntil

Completed si la méthode doit attendre pour retourner jusqu’à ce que l’opération de longue durée soit terminée sur le service ; Started si elle doit être retournée après le démarrage de l’opération. Pour plus d’informations sur les opérations de longue durée, consultez Exemples d’opérations de Long-Running Azure.Core.

content
RequestContent

Contenu à envoyer en tant que corps de la demande. Les détails du schéma du corps de la demande se trouvent dans la section Remarques ci-dessous.

context
RequestContext

Contexte de la demande, qui peut remplacer les comportements par défaut du pipeline client par appel.

Retours

Operation représentant une opération asynchrone sur le service.

Exceptions

content a la valeur null.

Le service a retourné un code de status non réussi.

Exemples

Cet exemple montre comment appeler StartImportUpdateAsync avec les paramètres requis et demander le contenu.

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)

Remarques

Vous trouverez ci-dessous le schéma JSON pour la charge utile de la requête.

Corps de la demande :

Schéma pour 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.
            }

S’applique à