Freigeben über


DeviceUpdateClient.GetUpdateAsync Methode

Definition

Rufen Sie eine bestimmte Updateversion ab.

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

Parameter

provider
String

Aktualisieren des Anbieters.

name
String

Aktualisieren Sie den Namen.

version
String

Aktualisieren Sie die Version.

ifNoneMatch
Nullable<ETag>

Definiert die Bedingung If-None-Match. Der Vorgang wird nur ausgeführt, wenn das ETag auf dem Server nicht mit diesem Wert übereinstimmt.

context
RequestContext

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

Gibt zurück

Die vom Dienst zurückgegebene Antwort. Details zum Antworttextschema finden Sie unten im Abschnitt Hinweise.

Ausnahmen

provider, name oder version ist NULL.

providerversion oder name ist eine leere Zeichenfolge, die nicht leer sein sollte.

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

Beispiele

In diesem Beispiel wird gezeigt, wie GetUpdateAsync mit den erforderlichen Parametern aufgerufen und das Ergebnis analysiert wird.

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

Response response = await client.GetUpdateAsync("<provider>", "<name>", "<version>");

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("compatibility")[0].GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("manifestVersion").ToString());
Console.WriteLine(result.GetProperty("importedDateTime").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());

In diesem Beispiel wird gezeigt, wie GetUpdateAsync mit allen Parametern aufgerufen und das Ergebnis analysiert wird.

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

Response response = await client.GetUpdateAsync("<provider>", "<name>", "<version>", null);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("friendlyName").ToString());
Console.WriteLine(result.GetProperty("isDeployable").ToString());
Console.WriteLine(result.GetProperty("updateType").ToString());
Console.WriteLine(result.GetProperty("installedCriteria").ToString());
Console.WriteLine(result.GetProperty("compatibility")[0].GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("handler").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("handlerProperties").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("files")[0].ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("updateId").GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("updateId").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("instructions").GetProperty("steps")[0].GetProperty("updateId").GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("referencedBy")[0].GetProperty("provider").ToString());
Console.WriteLine(result.GetProperty("referencedBy")[0].GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("referencedBy")[0].GetProperty("version").ToString());
Console.WriteLine(result.GetProperty("scanResult").ToString());
Console.WriteLine(result.GetProperty("manifestVersion").ToString());
Console.WriteLine(result.GetProperty("importedDateTime").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("etag").ToString());

Hinweise

Im Folgenden finden Sie das JSON-Schema für die Antwortnutzlast.

Antworttext:

Schema für Update:

{
              updateId: {
                provider: string, # Required. Update provider.
                name: string, # Required. Update name.
                version: string, # Required. Update version.
              }, # Required. Update identity.
              description: string, # Optional. Update description specified by creator.
              friendlyName: string, # Optional. Friendly update name specified by importer.
              isDeployable: boolean, # Optional. Whether the update can be deployed to a device on its own.
              updateType: string, # Optional. Update type. Deprecated in latest import manifest schema.
              installedCriteria: string, # Optional. String interpreted by Device Update client to determine if the update is installed on the device. Deprecated in latest import manifest schema.
              compatibility: [Dictionary<string, string>], # Required. List of update compatibility information.
              instructions: {
                steps: [
                  {
                    type: "Inline" | "Reference", # Optional. Step type.
                    description: string, # Optional. Step description.
                    handler: string, # Optional. Identity of handler that will execute this step. Required if step type is inline.
                    handlerProperties: AnyObject, # Optional. Parameters to be passed to handler during execution.
                    files: [string], # Optional. Collection of file names to be passed to handler during execution. Required if step type is inline.
                    updateId: UpdateId, # Optional. Referenced child update identity.  Required if step type is reference.
                  }
                ], # Required. Collection of installation steps.
              }, # Optional. Update install instructions.
              referencedBy: [UpdateId], # Optional. List of update identities that reference this update.
              scanResult: string, # Optional. Update aggregate scan result (calculated from payload file scan results).
              manifestVersion: string, # Required. Schema version of manifest used to import the update.
              importedDateTime: string (ISO 8601 Format), # Required. Date and time in UTC when the update was imported.
              createdDateTime: string (ISO 8601 Format), # Required. Date and time in UTC when the update was created.
              etag: string, # Optional. Update ETag.
            }

Gilt für: