بداية سريعة: مكتبة عميل تخزين Azure Blob لـ Ruby

تعرف على كيفية استخدام Ruby لإنشاء، وتنزيل، وإدراج الكائنات الثنائية كبيرة الحجم في حاوية في Microsoft Azure Blob Storage.

المتطلبات الأساسية

للوصول إلى Azure Storage، يلزم الحصول على أحد اشتراكات Azure. إذا لم يكن لديك اشتراك بالفعل، فأنشئ حسابًا مجانيًا قبل أن تبدأ.

يتم الوصول إلى Azure Storage من خلال حساب تخزين. بالنسبة للتشغيل السريع هذا، أنشئ حساب تخزين باستخدام مدخل Azure أو Azure PowerShell أو Azure CLI. للمساعدة في إنشاء حساب تخزين، راجع إنشاء حساب تخزين.

تأكد من تثبيت المتطلبات الأساسية الإضافية التالية:

قم بتنزيل نموذج الطلب

تطبيق عينة المستخدم في هذا التطبيق السريع هو تطبيق أساسي من Ruby.

استخدم ⁦⁩Git⁦⁩ لتنزيل نسخة من التطبيق إلى بيئة التطوير الخاصة بك. يقوم هذا الأمر باستنساخ المستودع إلى جهازك المحلي:

git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git

انتقل إلى ملف التخزين-النقط-روبي-البدء السريع المجلد، وافتح ملف example.rb في محرر التعليمات البرمجية الخاص بك.

نسخ بيانات الاعتماد الخاصة بك من مدخل Azure

يحتاج التطبيق النموذجي إلى مصادقة الوصول إلى حساب التخزين لديك. توفير بيانات اعتماد حساب التخزين الخاص بك إلى التطبيق في شكل سلسلة اتصال. لعرض بيانات اعتماد حساب التخزين الخاص بك:

  1. في ⁧⁩مدخل Azure⁧⁩ انتقل إلى حساب التخزين الخاص بك.

  2. في قسم ⁧⁩الإعدادات⁧⁩ من نظرة عامة على حساب التخزين، حدد ⁧⁩Access keys⁧⁩ لعرض مفاتيح الوصول إلى الحساب، وسلسلة الاتصال.

  3. قم بتدوين اسم حساب التخزين الخاص بك، والذي ستحتاج إليه للحصول على المصادقة.

  4. ابحث عن قيمة ⁧⁩المفتاح⁧⁩ ضمن ⁧⁩key1⁧⁩، وحدد ⁧⁩Copy⁧⁩ لنسخ مفتاح الحساب.

    لقطة شاشة توضح كيفية نسخ مفتاح حسابك من مدخل Azure

تكوين سلسلة اتصال التخزين الخاص بك

أدخل اسم حساب التخزين ومفتاح الحساب لإنشاء ملف BlobService على سبيل المثال للتطبيق الخاص بك.

تقوم التعليمات البرمجية التالية في ملف ⁦⁩example.rb⁦⁩ بإنشاء كائن ⁦⁩BlobService⁦⁩ جديد. استبدل ملف اسم الحساب وقيم مفتاح الحساب باسم حسابك ومفتاحه.

# Create a BlobService object
account_name = "accountname"
account_key = "accountkey"

blob_client = Azure::Storage::Blob::BlobService.create(
    storage_account_name: account_name,
    storage_access_key: account_key
)

قم بتشغيل العينة

يُنشئ النموذج حاوية في تخزين Blob، ويُنشئ blob جديدًا في الحاوية، ويسرد blob في الحاوية، وينزل blob إلى ملف محلي.

قم بتشغيل العينة. فيما يلي مثال على الإخراج من تشغيل التطبيق:

C:\azure-samples\storage-blobs-ruby-quickstart> ruby example.rb

Creating a container: quickstartblobs18cd9ec0-f4ac-4688-a979-75c31a70503e

Creating blob: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

List blobs in the container following continuation token
        Blob name: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Downloading blob to C:/Users/azureuser/Documents/QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Paused, press the Enter key to delete resources created by the sample and exit the application

عند الضغط على Enter للمتابعة، يحذف نموذج البرنامج حاوية التخزين والملف المحلي. قبل المتابعة، تحقق من وثائق مجلد الملف الذي تم تنزيله.

تستطيع أيضا استخدام مستكشف تخزين Azure لعرض الملفات في حساب التخزين الخاص بك. Azure Storage Explorer هو أداة مجانية عبر الأنظمة الأساسية تتيح لك الوصول إلى معلومات حساب التخزين الخاص بك.

بعد التحقق من الملفات، اضغط على مفتاح Enter لحذف ملفات الاختبار وإنهاء العرض التوضيحي. افتح ملف example.rb للنظر في التعليمات البرمجية.

افهم نموذج التعليمات البرمجية

بعد ذلك، نتصفح نموذج التعليمة البرمجية حتى تتمكن من فهم كيفية عمله.

احصل على مراجع لعناصر التخزين

أول شيء يجب القيام به هو إنشاء مثيلات للكائنات المستخدمة للوصول إلى تخزين Blob وإدارته. هذه الأشياء تبنى بعضها على بعض. يتم استخدام كل واحد من قِبَل التالي في القائمة.

  • قم بإنشاء مثيل من تخزين كائن Azure BlobService لإعداد بيانات اعتماد الاتصال.
  • قم بإنشاء ملف Container الذي يمثل الحاوية التي تقوم بالوصول إليها. تُستخدم الحاويات لتنظيم النقاط الكبيرة كما لو كنت تستخدم مجلدات على جهاز الكمبيوتر الخاص بك لتنظيم ملفاتك.

بمجرد حصولك على كائن الحاوية، يمكنك إنشاء ملف حاجز كائن blob يشير إلى كائن blob معين تهتم به. استخدم Block لإنشاء وتنزيل ونسخ كائنات ثنائية كبيرة الحجم.

هام

يجب أن تكون أسماء الحاويات بأحرف صغيرة. لمزيد من المعلومات حول أسماء الحاوية والنقطة، راجع تسمية ومراجع الحاويات والنقاط والبيانات الوصفية.

رمز المثال التالي:

  • ينشئ حاوية جديدة
  • يعيّن الأذونات على الحاوية بحيث تكون النقاط الثنائية الكبيرة عامة. الحاوية تسمى Quickstartblobs بإلحاق معرّف فريد.
# Create a container
container_name = "quickstartblobs" + SecureRandom.uuid
puts "\nCreating a container: " + container_name
container = blob_client.create_container(container_name)

# Set the permission so the blobs are public
blob_client.set_container_acl(container_name, "container")

قم بإنشاء فقاعة في الحاوية

يدعم تخزين Blob الكتل الكبيرة، ونقاط الإلحاق، والنقاط الكبيرة للصفحات. لإنشاء blob، اتصل بـ create_block_blob طريقة تمرير البيانات في النقطة.

يقوم المثال التالي بإنشاء كائن ثنائي كبير الحجم يسمى بداية سريعة_ بمعرف فريد وامتداد ملف .txt في الحاوية التي تم إنشاؤها في وقت سابق.

# Create a new block blob containing 'Hello, World!'
blob_name = "QuickStart_" + SecureRandom.uuid + ".txt"
blob_data = "Hello, World!"
puts "\nCreating blob: " + blob_name
blob_client.create_block_blob(container.name, blob_name, blob_data)

يمكن أن تصل مجموعة الكائنات الثنائية كبيرة الحجم إلى 4.7 تيرابايت، ويمكن أن تكون أي شيء من جداول البيانات إلى ملفات الفيديو الكبيرة. يستخدم الكائن الثنائي كبير الحجم الصفحات بشكل أساسي لملفات VHD التي تدعم أجهزة IaaS الافتراضية. تُستخدم الكائنات الثنائية كبيرة الحجم بشكل شائع للتسجيل، على سبيل المثال عندما تريد الكتابة إلى ملف ثم الاستمرار في إضافة المزيد من المعلومات.

سرد الكائنات الثنائية كبيرة الحجم في حاوية

احصل على قائمة بالملفات في الحاوية باستخدام امتداد طريقة list_blobs. يسترجع الكائن الثنائي كبير الحجم التالي قائمة الكائنات الكبيرة ثنائية الحجم، ثم يعرض أسماءَها.

# List the blobs in the container
puts "\nList blobs in the container following continuation token"
nextMarker = nil
loop do
    blobs = blob_client.list_blobs(container_name, { marker: nextMarker })
    blobs.each do |blob|
        puts "\tBlob name: #{blob.name}"
    end
    nextMarker = blobs.continuation_token
    break unless nextMarker && !nextMarker.empty?
end

تنزيل كائن ثنائي كبير الحجم

قم بتنزيل الكائن الثنائي كبير الحجم على القرص المحلي الخاص بك باستخدام طريقة get_blob. تقوم التعليمة البرمجية التالية بتنزيل الكائن الثنائي كبير الحجم الذي تم إنشاؤه في قسم سابق.

# Download the blob

# Set the path to the local folder for downloading
if(is_windows)
    local_path = File.expand_path("~/Documents")
else 
    local_path = File.expand_path("~/")
end

# Create the full path to the downloaded file
full_path_to_file = File.join(local_path, blob_name)

puts "\nDownloading blob to " + full_path_to_file
blob, content = blob_client.get_blob(container_name, blob_name)
File.open(full_path_to_file,"wb") {|f| f.write(content)}

تنظيف الموارد

إذا لم تعد هناك حاجة إلى blob، فاستخدم delete_blob لإزالته. احذف حاوية بأكملها باستخدام طريقة delete_container. يؤدي حذف الحاوية أيضًا إلى حذف أي نقاط نقطية مخزنة في الحاوية.

# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)

موارد لتطوير تطبيقات Ruby بالكائنات الثنائية كبيرة الحجم

راجع هذه الموارد الإضافية لتطوير Ruby:

الخطوات التالية

في هذه البداية السريعة، تعلمت كيفية نقل الملفات بين تخزين Azure Blob وقرص محلي باستخدام Ruby. لمعرفة المزيد حول استخدام Blob Storage، تابع إلى نظرة عامة على حساب التخزين.

لمزيد من المعلومات حول Storage Explorer وBlobs، راجع إدارة موارد تخزين Azure Blob باستخدام مستكشف التخزين.