Compartir a través de


DeviceUpdateClient.GetFileAsync Método

Definición

Obtenga un archivo de actualización específico de la versión.

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

Parámetros

provider
String

Proveedor de actualización.

name
String

Nombre de actualización.

version
String

Actualizar versión.

fileId
String

Identificador de archivo.

ifNoneMatch
Nullable<ETag>

Define la condición If-None-Match. La operación solo se realizará si la etiqueta ETag del servidor no coincide con este valor.

context
RequestContext

Contexto de solicitud, que puede invalidar los comportamientos predeterminados de la canalización de cliente por llamada.

Devoluciones

Respuesta devuelta desde el servicio. Los detalles del esquema del cuerpo de la respuesta se encuentran en la sección Comentarios a continuación.

Excepciones

provider, name, version o fileId es un valor null.

provider, nameversion o fileId es una cadena vacía y se espera que no esté vacía.

El servicio devolvió un código de estado no correcto.

Ejemplos

En este ejemplo se muestra cómo llamar a GetFileAsync con los parámetros necesarios y analizar el resultado.

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

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

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("fileId").ToString());
Console.WriteLine(result.GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("sizeInBytes").ToString());
Console.WriteLine(result.GetProperty("hashes").GetProperty("<test>").ToString());

En este ejemplo se muestra cómo llamar a GetFileAsync con todos los parámetros y cómo analizar el resultado.

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

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

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("fileId").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("sizeInBytes").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("hashes").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("mimeType").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("scanResult").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("scanDetails").ToString());
Console.WriteLine(result.GetProperty("relatedFiles")[0].GetProperty("properties").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("downloadHandler").GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("etag").ToString());
Console.WriteLine(result.GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("sizeInBytes").ToString());
Console.WriteLine(result.GetProperty("hashes").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("mimeType").ToString());
Console.WriteLine(result.GetProperty("scanResult").ToString());
Console.WriteLine(result.GetProperty("scanDetails").ToString());
Console.WriteLine(result.GetProperty("properties").GetProperty("<test>").ToString());

Comentarios

A continuación se muestra el esquema JSON para la carga de respuesta.

Cuerpo de la respuesta:

Esquema para UpdateFile:

{
              fileId: string, # Required. File identity, generated by server at import time.
              relatedFiles: [
                {
                  fileName: string, # Required. File name.
                  sizeInBytes: number, # Required. File size in number of bytes.
                  hashes: Dictionary<string, string>, # Required. Mapping of hashing algorithm to base64 encoded hash values.
                  mimeType: string, # Optional. File MIME type.
                  scanResult: string, # Optional. Anti-malware scan result.
                  scanDetails: string, # Optional. Anti-malware scan details.
                  properties: Dictionary<string, string>, # Optional. Optional file properties (not consumed by service but pass-through to device).
                }
              ], # Optional. Optional related files metadata used together DownloadHandler metadata to download payload file.
              downloadHandler: {
                id: string, # Required. Download handler identifier.
              }, # Optional. Optional download handler for utilizing related files to download payload file.
              etag: string, # Optional. File ETag.
              fileName: string, # Required. File name.
              sizeInBytes: number, # Required. File size in number of bytes.
              hashes: Dictionary<string, string>, # Required. Mapping of hashing algorithm to base64 encoded hash values.
              mimeType: string, # Optional. File MIME type.
              scanResult: string, # Optional. Anti-malware scan result.
              scanDetails: string, # Optional. Anti-malware scan details.
              properties: Dictionary<string, string>, # Optional. Optional file properties (not consumed by service but pass-through to device).
            }

Se aplica a