BLOBオブジェクトのリスト全体を取得せずに、BLOBファイルがコンテナー内に存在するかどうかを知る方法はありますか?
ありがとう、
BLOBオブジェクトのリスト全体を取得せずに、BLOBファイルがコンテナー内に存在するかどうかを知る方法はありますか?
ありがとう、
BLOBのアドレスがわかっている場合、Azure SDKからのヒントは、最初にCloudBlockBlob
(またはCloudPageBlob
)をビルドしてから、を呼び出すことFetchAttributes
です。StorageClientException
この呼び出しは、blobを見つけることができない場合にをスローします。
CloudBlobClient.GetBlockBlobReference
ドキュメントから:
FetchAttributesメソッドはHEADリクエストを実行して、blobのプロパティとメタデータを設定します。これは、blobが存在するかどうかを判断するための軽量なオプションです。
Windows Azureストレージクライアントライブラリ2.0以降、blobにはExists()メソッドが含まれています。例:blob.Exists()
同じことが。にも当てはまりますBlobContainer
。
これは私が使用しているコードです
public static bool Exists(this CloudBlob blob)
{
try
{
blob.FetchAttributes();
return true;
}
catch (StorageClientException e)
{
if (e.ErrorCode == StorageErrorCode.ResourceNotFound)
{
return false;
}
else
{
throw;
}
}
}