إنشاء حاوية كائن ثنائي كبير الحجم باستخدام .NET
يتم تنظيم الكائنات الثنائية في تخزين Azure ضمن حاويات. قبل أن تتمكن من تحميل كائن ثنائي كبير الحجم، عليك أولاً إنشاء حاوية. توضح هذه المقالة كيفية إنشاء حاويات باستخدام مكتبة عميل Azure Storage لـ .NET.
المتطلبات الأساسية
- اشتراك Azure - إنشاء اشتراك مجاني
- حساب تخزين Azure - إنشاء حساب تخزين
- أحدث .NET SDK لنظام التشغيل الخاص بك. تأكد من الحصول على SDK وليس وقت التشغيل.
إعداد بيئتك
إذا لم يكن لديك مشروع موجود، يوضح لك هذا القسم كيفية إعداد مشروع للعمل مع مكتبة عميل Azure Blob Storage ل .NET. تتضمن الخطوات تثبيت الحزمة وإضافة using
التوجيهات وإنشاء كائن عميل معتمد. للحصول على التفاصيل، راجع بدء استخدام Azure Blob Storage و.NET.
تثبيت الحزم
من دليل المشروع الخاص بك، قم بتثبيت حزم Azure Blob Storage ومكتبات عميل Azure Identity باستخدام dotnet add package
الأمر . حزمة Azure.Identity مطلوبة للاتصالات بدون كلمة مرور بخدمات Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
أضف توجيهات using
أضف هذه using
التوجيهات إلى أعلى ملف التعليمات البرمجية:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
قد تتطلب بعض أمثلة التعليمات البرمجية في هذه المقالة توجيهات إضافية using
.
إنشاء كائن عميل
لتوصيل تطبيق ب Blob Storage، قم بإنشاء مثيل BlobServiceClient. يوضح المثال التالي كيفية إنشاء كائن عميل باستخدام DefaultAzureCredential
للتخويل:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
يمكنك تسجيل عميل خدمة لإدخال التبعية في تطبيق .NET.
يمكنك أيضا إنشاء كائنات العميل لحاويات أو كائنات ثنائية كبيرة الحجم معينة. لمعرفة المزيد حول إنشاء كائنات العميل وإدارتها، راجع إنشاء كائنات العميل التي تتفاعل مع موارد البيانات وإدارتها.
التصريح
يجب أن يكون لآلية التخويل الأذونات اللازمة لإنشاء حاوية. للحصول على تخويل باستخدام معرف Microsoft Entra (مستحسن)، تحتاج إلى دور Azure RBAC المضمن في Storage Blob Data Contributor أو أعلى. لمعرفة المزيد، راجع إرشادات التخويل لإنشاء حاوية (REST API) .
حول تسمية الحاوية
يجب أن يكون اسم الحاوية اسم DNS صالحاً، لأنه يشكل جزءاً من عنوان URI الفريد المستخدم لمعالجة الحاوية أو كائناتها الثنائية كبيرة الحجم. اتبع هذه القواعد عند تسمية حاوية:
- يمكن اختيار أسماء الحاويات بحيث يتراوح طولها بين 3 أحرف و63 حرفاً.
- يجب أن تبدأ أسماء الحاويات بحرف أو رقم، ويمكن أن تحتوي فقط على أحرف صغيرة و أرقام وحرف الشرطة (-).
- لا يسمح بأحرف الشرطة المتتالية في أسماء الحاويات.
يتم تنسيق URI لمورد حاوية كما يلي:
https://my-account-name.blob.core.windows.net/my-container-name
إنشاء حاوية
لإنشاء حاوية، قم باستدعاء إحدى الطرق التالية من BlobServiceClient
الفئة :
يمكنك أيضا إنشاء حاوية باستخدام إحدى الطرق التالية من BlobContainerClient
الفئة :
تلقى هذه الطرق استثناء إذا كانت حاوية تحمل نفس الاسم موجودة بالفعل.
يتم إنشاء الحاويات مباشرةً أسفل حساب التخزين. ليس من الممكن وضع حاوية واحدة أسفل أخرى.
يستخدم المثال التالي كائن BlobServiceClient
لإنشاء حاوية بشكل غير متزامن:
//-------------------------------------------------
// Create a container
//-------------------------------------------------
private static async Task<BlobContainerClient> CreateSampleContainerAsync(BlobServiceClient blobServiceClient)
{
// Name the sample container based on new GUID to ensure uniqueness.
// The container name must be lowercase.
string containerName = "container-" + Guid.NewGuid();
try
{
// Create the container
BlobContainerClient container = await blobServiceClient.CreateBlobContainerAsync(containerName);
if (await container.ExistsAsync())
{
Console.WriteLine("Created container {0}", container.Name);
return container;
}
}
catch (RequestFailedException e)
{
Console.WriteLine("HTTP error code {0}: {1}",
e.Status, e.ErrorCode);
Console.WriteLine(e.Message);
}
return null;
}
إنشاء حاوية الجذر
تعمل حاوية الجذر كحاوية افتراضية لحساب التخزين الخاص بك. يمكن أن يكون لكل حساب تخزين حاوية جذر واحدة، والتي يجب تسميتها $root. يجب إنشاء حاوية الجذر أو حذفها بشكل صريح.
يمكنك الرجوع إلى نقطة مخزنة في حاوية الجذر دون تضمين اسم حاوية الجذر. تمكنك حاوية الجذر من الرجوع إلى نقطة في المستوى العلوي من التدرج الهرمي لحساب التخزين. على سبيل المثال، يمكنك الرجوع إلى نقطة موجودة في حاوية الجذر بالطريقة التالية:
https://myaccount.blob.core.windows.net/default.html
يقوم المثال التالي بإنشاء حاوية الجذر بشكل متزامن:
//-------------------------------------------------
// Create root container
//-------------------------------------------------
private static void CreateRootContainer(BlobServiceClient blobServiceClient)
{
try
{
// Create the root container or handle the exception if it already exists
BlobContainerClient container = blobServiceClient.CreateBlobContainer("$root");
if (container.Exists())
{
Console.WriteLine("Created root container.");
}
}
catch (RequestFailedException e)
{
Console.WriteLine("HTTP error code {0}: {1}",
e.Status, e.ErrorCode);
Console.WriteLine(e.Message);
}
}
الموارد
لمعرفة المزيد حول إنشاء حاوية باستخدام مكتبة عميل Azure Blob Storage ل .NET، راجع الموارد التالية.
عمليات واجهة برمجة تطبيقات REST
يحتوي Azure SDK ل .NET على مكتبات تستند إلى واجهة برمجة تطبيقات AZURE REST، مما يسمح لك بالتفاعل مع عمليات REST API من خلال نماذج .NET المألوفة. تستخدم أساليب مكتبة العميل لإنشاء حاوية عملية REST API التالية:
- إنشاء حاوية (REST API)
موارد مكتبة العميل
المحتوى ذو الصلة
- هذه المقالة هي جزء من دليل مطور Blob Storage ل .NET. لمعرفة المزيد، راجع القائمة الكاملة لمقالات دليل المطور في إنشاء تطبيق .NET الخاص بك.