আপনি যদি অন্য সমাধানগুলি পছন্দ না করেন তবে এখানে একটি আলাদা সমাধান রয়েছে:
আমি Azure.Soage.Blobs নিউগেট প্যাকেজটির 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;
}
}
}
আশা করি এটি ভবিষ্যতে কাউকে সহায়তা করবে।