यदि आप अन्य समाधान पसंद नहीं करते हैं, तो यहां एक अलग समाधान है:
मैं Azure.Storage.Blobs NuGet पैकेज के संस्करण 12.4.1 का उपयोग कर रहा हूं।
मुझे एक Azure.Pageable ऑब्जेक्ट मिलता है जो एक कंटेनर में सभी ब्लब्स की एक सूची है। मैं तब जाँचता हूं कि अगर BlobItem का नाम LINQ के उपयोग वाले कंटेनर के अंदर प्रत्येक बूँद के नाम की संपत्ति के बराबर है । (यदि सब कुछ मान्य है, तो निश्चित रूप से)
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System.Linq;
using System.Text.RegularExpressions;
public class AzureBlobStorage
{
private BlobServiceClient _blobServiceClient;
public AzureBlobStorage(string connectionString)
{
this.ConnectionString = connectionString;
_blobServiceClient = new BlobServiceClient(this.ConnectionString);
}
public bool IsContainerNameValid(string name)
{
return Regex.IsMatch(name, "^[a-z0-9](?!.*--)[a-z0-9-]{1,61}[a-z0-9]$", RegexOptions.Singleline | RegexOptions.CultureInvariant);
}
public bool ContainerExists(string name)
{
return (IsContainerNameValid(name) ? _blobServiceClient.GetBlobContainerClient(name).Exists() : false);
}
public Azure.Pageable<BlobItem> GetBlobs(string containerName, string prefix = null)
{
try
{
return (ContainerExists(containerName) ?
_blobServiceClient.GetBlobContainerClient(containerName).GetBlobs(BlobTraits.All, BlobStates.All, prefix, default(System.Threading.CancellationToken))
: null);
}
catch
{
throw;
}
}
public bool BlobExists(string containerName, string blobName)
{
try
{
return (from b in GetBlobs(containerName)
where b.Name == blobName
select b).FirstOrDefault() != null;
}
catch
{
throw;
}
}
}
उम्मीद है कि यह भविष्य में किसी की मदद करता है।