بداية سريعة: مكتبة عميل تخزين Azure Blob لـ Ruby
تعرف على كيفية استخدام Ruby لإنشاء، وتنزيل، وإدراج الكائنات الثنائية كبيرة الحجم في حاوية في Microsoft Azure Blob Storage.
المتطلبات الأساسية
للوصول إلى Azure Storage، يلزم الحصول على أحد اشتراكات Azure. إذا لم يكن لديك اشتراك بالفعل، فأنشئ حسابًا مجانيًا قبل أن تبدأ.
يتم الوصول إلى Azure Storage من خلال حساب تخزين. بالنسبة للتشغيل السريع هذا، أنشئ حساب تخزين باستخدام مدخل Azure أو Azure PowerShell أو Azure CLI. للمساعدة في إنشاء حساب تخزين، راجع إنشاء حساب تخزين.
تأكد من تثبيت المتطلبات الأساسية الإضافية التالية:
مكتبة عميل Azure Storage ل Ruby، باستخدام حزمة RubyGem:
gem install azure-storage-blob
قم بتنزيل نموذج الطلب
تطبيق عينة المستخدم في هذا التطبيق السريع هو تطبيق أساسي من Ruby.
استخدم Git لتنزيل نسخة من التطبيق إلى بيئة التطوير الخاصة بك. يقوم هذا الأمر باستنساخ المستودع إلى جهازك المحلي:
git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git
انتقل إلى ملف التخزين-النقط-روبي-البدء السريع المجلد، وافتح ملف example.rb في محرر التعليمات البرمجية الخاص بك.
نسخ بيانات الاعتماد الخاصة بك من مدخل Azure
يحتاج التطبيق النموذجي إلى مصادقة الوصول إلى حساب التخزين لديك. توفير بيانات اعتماد حساب التخزين الخاص بك إلى التطبيق في شكل سلسلة اتصال. لعرض بيانات اعتماد حساب التخزين الخاص بك:
في مدخل Azure انتقل إلى حساب التخزين الخاص بك.
في قسم الإعدادات من نظرة عامة على حساب التخزين، حدد Access keys لعرض مفاتيح الوصول إلى الحساب، وسلسلة الاتصال.
قم بتدوين اسم حساب التخزين الخاص بك، والذي ستحتاج إليه للحصول على المصادقة.
ابحث عن قيمة المفتاح ضمن key1، وحدد Copy لنسخ مفتاح الحساب.
تكوين سلسلة اتصال التخزين الخاص بك
أدخل اسم حساب التخزين ومفتاح الحساب لإنشاء ملف 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 على GitHub.
- يكتشف عينات Azure مكتوبة باستخدام مكتبة عميل روبي.
- عينة: الشروع في العمل مع تخزين Azure في Ruby
الخطوات التالية
في هذه البداية السريعة، تعلمت كيفية نقل الملفات بين تخزين Azure Blob وقرص محلي باستخدام Ruby. لمعرفة المزيد حول استخدام Blob Storage، تابع إلى نظرة عامة على حساب التخزين.
لمزيد من المعلومات حول Storage Explorer وBlobs، راجع إدارة موارد تخزين Azure Blob باستخدام مستكشف التخزين.