DeviceUpdateClient.GetUpdateAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Get a specific update version.
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)
Parameters
- provider
- String
Update provider.
- name
- String
Update name.
- version
- String
Update version.
Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.
- context
- RequestContext
The request context, which can override default behaviors of the client pipeline on a per-call basis.
Returns
The response returned from the service. Details of the response body schema are in the Remarks section below.
Exceptions
provider
, name
or version
is null.
provider
, name
or version
is an empty string, and was expected to be non-empty.
Service returned a non-success status code.
Examples
This sample shows how to call GetUpdateAsync with required parameters and parse the result.
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());
This sample shows how to call GetUpdateAsync with all parameters, and how to parse the result.
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());
Remarks
Below is the JSON schema for the response payload.
Response Body:
Schema for 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.
}