DeviceUpdateClient.GetFileAsync メソッド

定義

バージョンから特定の更新ファイルを取得します。

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)

パラメーター

provider
String

更新プロバイダー。

name
String

更新名。

version
String

バージョンを更新します。

fileId
String

ファイル識別子。

ifNoneMatch
Nullable<ETag>

If-None-Match 条件を定義します。 操作は、サーバー上の ETag がこの値と一致しない場合にのみ実行されます。

context
RequestContext

要求コンテキスト。これは、クライアント パイプラインの既定の動作を呼び出しごとにオーバーライドできます。

戻り値

サービスから返された応答。 応答本文スキーマの詳細については、以下の「解説」セクションを参照してください。

例外

providernameversion、または fileId が null です。

providernameversion または fileId は空の文字列であり、空でないと想定されていました。

サービスから成功以外の状態コードが返されました。

このサンプルでは、必要なパラメーターを使用して GetFileAsync を呼び出し、結果を解析する方法を示します。

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());

このサンプルでは、すべてのパラメーターを使用して GetFileAsync を呼び出す方法と、結果を解析する方法を示します。

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());

注釈

応答ペイロードの JSON スキーマを次に示します。

応答本文:

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).
            }

適用対象