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

التشغيل التلقائي موجود في كل مكان في مجال تكنولوجيا المعلومات هذه الأيام. من توفير الآلة الافتراضية إلى نشر موقع الويب، التشغيل التلقائي هو المفتاح خاصة عندما تحتاج إلى التعامل مع عناصر متعددة. حتى إدارة الملفات بين تخزين 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

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

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

عند استخدام AzCopy لنسخ الملفات إلى الكائنات النصية، لديك خيارات عدة للمصادقة. نظرًا لأنه من المفترض أنك قد قمت بالفعل بالمصادقة على تخزين 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

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

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

لتنزيل ملف من كائن 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، قم بفحص محتوى المساعدة عن طريق تشغيل azcopy -h. ستجد العديد من الأوامر المفيدة بجانب الأمر copy الذي ركزت عليه حصرًا في هذا المقال. يمكنك رؤية لقطة شاشة لهذه الأوامر أدناه.

List of AzCopy Commands

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

الملخص

في هذا المقال، تعلمت كيفية استخدام AzCopy لنقل الملفات بين التخزين المحلي والتخزين في Azure. كما تعلمت كيفية أداء هذه المهام أثناء استخدام OAuth و Shared Access Signature Token للمصادقة. لقد رأيت أيضًا ما هي الأوامر الأخرى المتاحة في 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-storage/