نقل الملفات باستخدام AzCopy: OAuth وSAS Token

التشغيل التلقائي موجود في كل مكان في التكنولوجيا المعلوماتية في الوقت الحاضر. من توفير الآلة الافتراضية إلى نشر موقع الويب، التشغيل التلقائي هو العنصر الأساسي خاصة عند التعامل مع عدة عناصر. يمكن أيضًا أتمتة إدارة الملفات بين تخزين Azure وجهازك المحلي باستخدام برنامج أدوات يسمى AzCopy.

يعد AzCopy أداة مستقلة تتيح إدارة تخزين Azure. يمكن أن يتم العديد من العمليات باستخدام AzCopy. في هذه المقالة، سنركز على:

  • إنشاء حاويات التخزين
  • نسخ الملفات المحلية إلى الحاويات
  • نسخ الملفات بين الحاويات

لنبدأ!

إذا كنت تفضل التعلم عبر الفيديو، يمكنك أيضًا مشاهدة فيديو TechSnips ذي الصلة تمامًا بما ستتعلمه في هذه المقالة.

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

سيتم توضيح مجموعة متنوعة من المهام في هذه المقالة. إذا كنت ترغب في المتابعة، تأكد من تلبية قائمة المتطلبات التالية قبل البدء.

إنشاء حاويات تخزين جديدة

أولاً ، دعونا نستخدم AzCopy لإنشاء حاويات تخزين جديدة في حساب تخزين موجود. في المثال الذي ستستخدمه ، ستقوم بإنشاء حاويتين جديدتين تحملان الأسماء container1 و container2.

ملاحظة: قبل إنشاء حاوية جديدة ، يجب أن تعرف عنوان URL الخاص بالحاوية. يتبع عنوان URL النمط: https://[storageaccountname].blob.core.windows.net/[container_name].

أولاً ، قم بتعريف عنوان URL الخاص بالنقطة النهائية. في هذا المثال ، ستتم إنشاء الحاويات في حساب تخزين يسمى storageaccount1207 مع إنشاء عنواني URL للنقطة النهائية:

الآن بمجرد معرفتك لعناوين URL النقطة النهائية ، استخدم الأمر azcopy make مرورًا بكل عنوان URL النقطة النهائية كمعلمة كما هو موضح أدناه.

> azcopy make https://storageaccount1207.blob.core.windows.net/container1
> azcopy make https://storageaccount1207.blob.core.windows.net/container2
Creating new containers in the storageaccount1207 storage account

نسخ الملفات إلى/من حاويات Azure

بمجرد إنشاء حاوية تخزين ، ربما تسأل نفسك “كيف يمكنني الرفع إلى تخزين سحابة Azure؟”. يمكنك تحقيق ذلك باستخدام AzCopy باستخدام الأمر azcopy copy. يمكنك استخدام AzCopy لنسخ PSTs و VHDs والمزيد.

استخدام المصادقة OAuth

عند استخدام AzCopy لنسخ الملفات إلى الـ blobs ، لديك خيارات عدة للمصادقة. نظرًا لأنه من المفترض أنك قد قمت بالفعل بالمصادقة على تخزين Azure (نظرًا لأنه كان في المتطلبات الأساسية) ، يمكنك ببساطة تشغيل azcopy copy محددًا مسار ملف محلي تتبعه عنوان URL للحاوية كما هو موضح أدناه.

من خلال عدم تحديد أي معلمة أخرى ، فإنك تستخدم المصادقة OAuth.

> azcopy copy c:\myDir\file1.txt https://storageaccount1207.blob.core.windows.net/container1
Upload file to Azure Storage using OAuth

كيف يمكنك التحقق من أن الملف تم نسخه إلى حاوية الـ blob في Azure؟ يمكنك استخدام الأمر azcopy list [عنوان URL للحاوية]. انظر إلى المثال أدناه الذي يظهر أن الملف file1.txt موجود.

> azcopy list https://storageaccount1207.blob.core.windows.net/container1
List the contents of the Azure blob container

لتنزيل ملف من الـ blob في Azure إلى الدليل المحلي ، تحتاج فقط إلى تبديل أماكن وسيطرة المصادر والوجهة. انظر المثال أدناه.

> azcopy copy https://storageaccount1207.blob.core.windows.net/container1/file1.txt>c:\myDir
Download file from Azure Storage using OAuth authentication

استخدام رمز توكين وصول مشترك (SAS)

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

بمجرد أن يكون لديك رمز SAS متاحًا ، يمكنك إلحاق الرمز بعنوان URL لحاوية الوجهة كمعلمة HTTP كما هو موضح أدناه.

> azcopy copy c:\myDir\file1.txt 'https://storageaccount1207.blob.core.windows.net/container1?sv=2019-02-02&sr=c&sig=LgFsqIRHZovsSjpAVNAyyyy4tnDJ%2BxNh%2B1Cq3rY4Gbk%3D&se=2019-12-09T06%3A34%3A30Z&sp=rw'

إذا كنت تستخدم PowerShell وقمت بتخزين الرمز في متغير (على سبيل المثال $token) ، يمكنك تمرير تلك المتغير بدلاً من سلسلة الرمز الكاملة كما في الأمر أدناه.

> azcopy copy c:\myDir\file1.txt "https://storageaccount1207.blob.core.windows.net/container1?$token"
Copy file to Azure Container using SAS Token Authentication

باستخدام نفس الرمز (بشرط أن يكون لا يزال في فترة صلاحيته)، يمكنك أيضًا تنزيل الملفات من تخزين Azure إلى التخزين المحلي. يوضح المثال أدناه نسخ ملف file1.txt من تخزين Azure برمز SAS.

في الكود أدناه، يمكنك أن ترى أن هذه المرة بدلاً من إلحاق الرمز بعد اسم الحاوية، يتم إضافة اسم الملف أولاً. يوجّه هذا AzCopy لنسخ ملف محدد باستخدام المصادقة SAS.

> azcopy copy ('https://storageaccount1207.blob.core.windows.net/container1/file1.txt'+$token) C:\MyDir\
Copy file from Azure Container with SAS Token

نسخ الدليل إلى/من تخزين Azure

إذا كان لديك العديد من الملفات لنقلها أو تنزيلها من Azure، يمكنك أيضًا نسخ مجلدات بأكملها دفعة واحدة باستخدام azcopy copy. الأمر لفعل ذلك ليس مختلفًا كثيرًا عن الأمر الذي تستخدمه لنسخ الملفات الفردية.

يمكنك أن ترى أدناه أمرًا ينسخ المجلد C:\\MyDir بشكل متكرر إلى حاوية النصيب container1. المعلمة --recursive مفتاح الأمر هنا. العلم --recursive في نهاية الأمر يشير إلى أن جميع المحتويات من الدليل الأب والأدلة الفرعية التي قد تكون موجودة سيتم نسخها.

> azcopy copy C:\MyDir\ https://storageaccount1207.blob.core.windows.net/container1/ --recursive

يمكنك أن ترى أدناه عشر ملفات داخل مجلد C:\MyDir تم نسخها بنجاح استنادًا إلى ملخص المهمة.

Copying a directory and its contents

نسخ الملفات بين حاويات تخزين Azure

في جميع أنحاء هذا المقال، لقد استخدمت أمر azcopy copy كثيرًا. ليس هناك حاجة للتوقف الآن! يمكنك نسخ الدلائل والملفات إلى/من البيئة المحلية، ويمكنك أيضًا نسخ الكتل عبر حاويات التخزين.

بدلاً من استخدام مسار ملف محلي، يمكنك تغيير المعلمات لاستخدام عنوان URL لحاوية الكتلة واحدة كمصدر وعنوان URL آخر لحاوية الكتلة كوجهة وصول.

لقد قمت بالفعل بإنشاء حاويتي تخزين تسميان container1 و container2. في هذا القسم، دعونا نقوم بنسخ الملفات والدلائل وحتى حاوية الكتلة بأكملها من container1 إلى container2.

لنسخ الملفات من حاوية إلى أخرى، أولاً، قم بإنشاء رمز مميز SAS جديد. نظرًا لأن الحاويتين تتبعان لنفس حساب التخزين، يمكن استخدام نفس الرمز لكل من المصدر والوجهة.

بفرض أنك قد قمت بحفظ سلسلة الرمز في متغير يسمى $token (إذا كنت تقوم بتشغيل azcopy مع PowerShell)، يمكنك نسخ جميع البيانات بسهولة من حاوية التخزين إلى الأخرى كما هو موضح أدناه.

تذكير: انظر إلى مقالة كيفية إنشاء رمز SAS Azure للوصول إلى حسابات التخزين إذا كنت لا تعرف كيفية إنشاء رمز SAS.

> azcopy copy ('https://storageaccount1207.blob.core.windows.net/container1'+$token) ('https://storageaccount1207.blob.core.windows.net/container2'+$token) --recursive
Copying data between containers using SAS Token authentication

عمليات AzCopy الأخرى المفيدة

بالإضافة إلى نسخ الملفات والمجلدات، هناك عمليات نسخ أخرى يمكنك أداؤها باستخدام AzCopy. بعض هذه العمليات هي:

  • نسخ ملفات محددة (مصفاة).
  • نسخ دليل إلى دليل آخر في حاوية الكتلة.
  • نسخ من Amazon AWS إلى تخزين Azure.

إذا كنت ترغب في معرفة كل ما يمكن أن يقوم به AzCopy ، قم بفحص محتوى المساعدة عبر تشغيل الأمر \texttt{azcopy -h}. ستجد العديد من الأوامر المفيدة بجانب الأمر \texttt{copy} الذي ركزت عليه بشكل حصري في هذا المقال. يمكنك رؤية لقطة شاشة لهذه الأوامر أدناه.

List of AzCopy Commands

لمعرفة المزيد ، قم بزيارة الصفحة AzCopy Copy. بعد ذلك يمكنك تجربة هذه الأوامر بنفسك باستخدام التقنيات التي تعلمتها في هذا المقال.

الملخص

في هذا المقال ، تعلمت كيفية استخدام AzCopy لنقل الملفات بين التخزين المحلي وتخزين Azure. كما تعلمت كيفية أداء هذه المهام أثناء استخدام OAuth ورمز توكين الوصول المشترك للمصادقة. لقد رأيت أيضًا ما هي الأوامر الأخرى المتاحة في AzCopy وكيفية العثور عليها.

I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!

Source:
https://adamtheautomator.com/azcopy/