Freigeben über


DeviceUpdateClient.StartImportUpdate Methode

Definition

Importieren Sie die neue Updateversion. Dies ist ein lang andauernder Vorgang. Verwenden Sie Operation-Location Antwortheaderwert, um den Vorgang status zu überprüfen.

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

Parameter

waitUntil
WaitUntil

Completed , wenn die Methode auf die Rückgabe warten soll, bis der lange ausgeführte Vorgang für den Dienst abgeschlossen ist; Started , wenn es nach dem Starten des Vorgangs zurückgegeben werden soll. Weitere Informationen zu Vorgängen mit langer Ausführung finden Sie unter Beispiele für Azure.Core-Long-Running-Vorgänge.

content
RequestContent

Der Inhalt, der als Textkörper der Anforderung gesendet werden soll. Details zum Anforderungstextschema finden Sie im Abschnitt Hinweise unten.

context
RequestContext

Der Anforderungskontext, der das Standardverhalten der Clientpipeline pro Aufruf außer Kraft setzen kann.

Gibt zurück

Stellt Operation einen asynchronen Vorgang für den Dienst dar.

Ausnahmen

content ist NULL.

Der Dienst hat einen nicht erfolgreichen status Code zurückgegeben.

Beispiele

In diesem Beispiel wird gezeigt, wie Sie StartImportUpdate mit den erforderlichen Parametern und Anforderungsinhalten aufrufen.

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 = client.StartImportUpdate(WaitUntil.Completed, RequestContent.Create(data));

var response = operation.WaitForCompletionResponse();
Console.WriteLine(response.Status)

Hinweise

Nachfolgend finden Sie das JSON-Schema für die Anforderungsnutzlast.

Anforderungstext:

Schema für 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.
            }

Gilt für: