تنزيل الكائنات الثنائية كبيرة الحجم من Azure Blob Storage باستخدام AzCopy
يمكنك تنزيل الكائنات الثنائية كبيرة الحجم والدلائل من وحدة تخزين Blob باستخدام الأداة المساعدة لسطر الأوامر AzCopy v10.
للاطلاع على أمثلة لأنواع أخرى من المهام مثل تحميل الملفات أو المزامنة مع تخزين Blob أو نسخ الكائنات الثنائية كبيرة الحجم بين الحسابات، راجع الارتباطات المعروضة في قسم الخطوات التالية من هذه المقالة.
الشروع في العمل
راجع مقالة ابدأ بـAzCopy لتنزيل AzCopy، واختر كيفية تقديم بيانات اعتماد التصريح لخدمة التخزين.
ملاحظة
تفترض الأمثلة الواردة في هذه المقالة أنك قمت بتوفير بيانات اعتماد التخويل باستخدام Azure Active Directory (Azure AD).
إذا كنت تفضل استخدام رمز SAS للسماح بالوصول إلى بيانات كائن ثنائي كبير الحجم، فيمكنك إلحاق هذا الرمز بعنوان URL المورد في كل أمر AzCopy. على سبيل المثال: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.
تنزيل كائن ثنائي كبير الحجم
قم بتنزيل نقطة باستخدام أمر azcopy copy.
تلميح
يرفق هذا المثال وسيطات المسار بعلامات اقتباس مفردة (''). استخدم علامات مفردة في كافة هياكل الأوامر باستثناء Windows Command Shell (cmd.exe). إذا كنت تستخدم Windows Command Shell (cmd.exe )، فقم بإرفاق وسيطات المسار باقتباسات مزدوجة (" ") بدلاً من اقتباسات مفردة (" ").
بناء الجملة
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
مثال (مساحة الأسماء الهرمية)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
ملاحظة
إذا كانت Content-md5 قيمة خاصية الكائن الثنائي الكبير الحجم تحتوي على تجزئة، فإن AzCopy يحسب تجزئة MD5 للبيانات التي تم تنزيلها ويتحقق من أن تجزئة MD5 المخزنة في خاصية Content-md5 للكائن الثنائي الكبير الحجم تتطابق مع التجزئة المحسوبة. إذا لم تتطابق هذه القيم، يفشل التنزيل إلا إذا قمت بتجاوز هذا السلوك عن طريق إلحاق --check-md5=NoCheck أو --check-md5=LogOnly إلى أمر النسخ.
تنزيل دليل
قم بتنزيل نقطة باستخدام أمر azcopy copy.
تلميح
يرفق هذا المثال وسيطات المسار بعلامات اقتباس مفردة (''). استخدم علامات مفردة في كافة هياكل الأوامر باستثناء Windows Command Shell (cmd.exe). إذا كنت تستخدم Windows Command Shell (cmd.exe )، فقم بإرفاق وسيطات المسار باقتباسات مزدوجة (" ") بدلاً من اقتباسات مفردة (" ").
بناء الجملة
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
مثال (مساحة الأسماء الهرمية)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
ينتج عن هذا المثال دليل مسمى C:\myDirectory\myBlobDirectory يحتوي على كافة الكائنات الثنائية كبيرة الحجم التي تم تنزيلها.
تنزيل محتويات الدليل
يمكنك تنزيل محتويات الدليل دون نسخ دليل المحتوي نفسه باستخدام رمز البدل (*).
تلميح
يرفق هذا المثال وسيطات المسار بعلامات اقتباس مفردة (''). استخدم علامات مفردة في كافة هياكل الأوامر باستثناء Windows Command Shell (cmd.exe). إذا كنت تستخدم Windows Command Shell (cmd.exe )، فقم بإرفاق وسيطات المسار باقتباسات مزدوجة (" ") بدلاً من اقتباسات مفردة (" ").
ملاحظة
حاليا، يتم دعم هذا السيناريو فقط للحسابات التي لا تحتوي على مساحة أسماء هرمية.
بناء الجملة
azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'
قم بإلحاق العلامة --recursive لتنزيل الملفات في جميع الدلائل الفرعية.
تنزيل الكائنات الثنائية كبيرة الحجم محددة
يمكنك تنزيل الكائنات الثنائية كبيرة الحجم محددة باستخدام أسماء ملفات كاملة أو أسماء جزئية بأحرف بدل (*) أو باستخدام التواريخ والأوقات.
تلميح
تتضمن هذه الأمثلة وسيطات المسار مع علامات اقتباس مفردة (''). استخدم علامات مفردة في كافة هياكل الأوامر باستثناء Windows Command Shell (cmd.exe). إذا كنت تستخدم Windows Command Shell (cmd.exe )، فقم بإرفاق وسيطات المسار باقتباسات مزدوجة (" ") بدلاً من اقتباسات مفردة (" ").
تحديد أسماء كائنات ثنائية كبيرة الحجم كاملة متعددة
استخدم أمر azcopy copy مع الخيار --include-path. افصل أسماء الكائن الثنائي الكبير الحجم الفردي باستخدام فاصلة منقوطة (;).
بناء الجملة
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive
مثال (مساحة الأسماء الهرمية)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt'--recursive
في هذا المثال، يقوم AzCopy بنقل الدليل https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos والملف https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt. قم بتضمين خيار --recursive لنقل جميع الكائنات الثنائية الكبيرة الحجم في الدليل https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos.
يمكنك أيضا استبعاد الكائنات الثنائية كبيرة الحجم باستخدام الخيار --exclude-path. لمعرفة المزيد، راجع نسخ مستندات المرجع azcopy.
استخدم حرف البدل
استخدم أمر azcopy copy مع الخيار --include-pattern. حدد الأسماء الجزئية التي تتضمن أحرف البدل. افصل الأسماء باستخدام فاصلة منقوطة (;).
بناء الجملة
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
مثال (مساحة الأسماء الهرمية)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
يمكنك أيضا استبعاد الكائنات الثنائية كبيرة الحجم باستخدام الخيار --exclude-pattern. لمعرفة المزيد، راجع نسخ مستندات المرجع azcopy.
تنطبق الخيارات --include-pattern والخيارات --exclude-pattern فقط على أسماء الكائنات الثنائية كبيرة الحجم وليس على المسار. إذا كنت تريد نسخ كافة الملفات النصية (الكائنات الثنائية كبيرة الحجم) الموجودة في شجرة دليل، فاستخدم الخيار –recursive للحصول على شجرة الدليل بالكامل، ثم استخدم –include-pattern وحدد *.txt للحصول على كافة الملفات النصية.
تنزيل النقاط التي تم تعديلها قبل أو بعد تاريخ ووقت
استخدم أمر azcopy copy مع الخيار --include-before أو --include-after. حدد تاريخًا ووقتًا بتنسيق ISO-8601 (على سبيل المثال: 2020-08-19T15:04:00Z).
تقوم الأمثلة التالية بتنزيل الملفات التي تم تعديلها في التاريخ المحدد أو بعده.
بناء الجملة
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
مثال (مساحة الأسماء الهرمية)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
للحصول على مرجع مفصل، راجع مستندات azcopy copy المرجعية.
تنزيل الإصدارات السابقة من كائن ثنائي كبير الحجم
إذا قمت بتمكين تعيين إصدار كائن ثنائي كبير الحجم، فيمكنك تنزيل إصدار سابق واحد أو أكثر من كائن ثنائي كبير الحجم.
أولًا، قم بإنشاء ملف نصي يحتوي على قائمة بمعرفات الإصدار. يجب أن يظهر كل معرف إصدار في سطر منفصل. على سبيل المثال:
2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z
استخدم أمر azcopy copy مع الخيار --list-of-versions. حدد موقع الملف النصي الذي يحتوي على قائمة الإصدارات (على سبيل المثال: D:\\list-of-versions.txt).
تنزيل لقطة شاشة لكائن البيانات الثنائية
يمكنك تنزيل لقطة كائن ثنائي كبير الحجم عن طريق الرجوع إلى قيمة DateTime للقطة الكائن الثنائي الكبير الحجم.
بناء الجملة
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'
مثال
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
مثال (مساحة الأسماء الهرمية)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
ملاحظة
إذا كنت تستخدم رمزًا مميزًا لـSAS لتفويض الوصول إلى بيانات الكائن الثنائي الكبير الحجم، فقم بإلحاق لقطة DateTime بعد الرمز المميز SAS. على سبيل المثال: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=%2FSOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B%2F3Eykf%2FJLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.
تنزيل باستخدام علامات اختيارية
يمكنك تعديل عملية التنزيل باستخدام علامات اختيارية. إليك بعض الأمثلة.
| السيناريو | وضع علامة |
|---|---|
| فك ضغط الملفات تلقائيًا. | --decompress |
| حدد مدى التفصيل الذي تريد أن تكون عليه إدخالات السجل المتعلقة بالنسخ. | --log-level=[WARNING|ERROR|INFO|NONE] |
| حدد ما إذا كان سيتم الكتابة فوق الملفات والكائنات الثنائية كبيرة الحجم المتعارضة في الوجهة وكيفية ذلك. | --overwrite=[true|false|ifSourceNewer|prompt] |
للحصول على قائمة كاملة، راجع الخيارات.
الخطوات التالية
اعثر على المزيد من الأمثلة في هذه المقالات:
- أمثلة: تحميل
- أمثلة: نسخ بين الحسابات
- أمثلة: مزامنة
- أمثلة: مستودعات Amazon S3
- أمثلة: Google Cloud Storage
- أمثلة: ملفات Azure
- البرنامج التعليمي: ترحيل البيانات الموجودة محليًا إلى التخزين السحابي باستخدام AzCopy
راجع هذه المقالات لتكوين الإعدادات وتحسين الأداء وحل المشكلات: