DeviceUpdateClient.GetUpdates(String, String, RequestContext) 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 list of all updates that have been imported to Device Update for IoT Hub.
public virtual Azure.Pageable<BinaryData> GetUpdates (string search = default, string filter = default, Azure.RequestContext context = default);
abstract member GetUpdates : string * string * Azure.RequestContext -> Azure.Pageable<BinaryData>
override this.GetUpdates : string * string * Azure.RequestContext -> Azure.Pageable<BinaryData>
Public Overridable Function GetUpdates (Optional search As String = Nothing, Optional filter As String = Nothing, Optional context As RequestContext = Nothing) As Pageable(Of BinaryData)
Parameters
- search
- String
Request updates matching a free-text search expression.
- filter
- String
Optional to filter updates by isDeployable property.
- context
- RequestContext
The request context, which can override default behaviors of the client pipeline on a per-call basis.
Returns
The Pageable<T> from the service containing a list of BinaryData objects. Details of the body schema for each item in the collection are in the Remarks section below.
Exceptions
Service returned a non-success status code.
Examples
This sample shows how to call GetUpdates and parse the result.
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new DeviceUpdateClient(endpoint, "<instanceId>", credential);
foreach (var data in client.GetUpdates())
{
JsonElement result = JsonDocument.Parse(data.ToStream()).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 GetUpdates 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);
foreach (var data in client.GetUpdates("<search>", "<filter>"))
{
JsonElement result = JsonDocument.Parse(data.ToStream()).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 one item in the pageable response.
Response Body:
Schema for UpdateListValue
:
{
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.
}