DeviceUpdateClient.GetFileAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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
, name
version
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
Azure SDK for .NET