تنزيل الكائنات الثنائية كبيرة الحجم من Azure Blob Storage باستخدام AzCopy

يمكنك تنزيل الكائنات الثنائية كبيرة الحجم والدلائل من وحدة تخزين Blob باستخدام الأداة المساعدة لسطر الأوامر AzCopy v10.

للاطلاع على أمثلة لأنواع أخرى من المهام مثل تحميل الملفات أو المزامنة مع تخزين Blob أو نسخ الكائنات الثنائية كبيرة الحجم بين الحسابات، راجع الارتباطات المعروضة في قسم الخطوات التالية من هذه المقالة.

الشروع في العمل

راجع مقالة بدء استخدام AzCopy لتنزيل AzCopy والتعرف على الطرق التي يمكنك من خلالها توفير بيانات اعتماد التخويل لخدمة التخزين.

إشعار

تفترض الأمثلة الواردة في هذه المقالة أنك قدمت بيانات اعتماد التخويل باستخدام معرف Microsoft Entra.

إذا كنت تفضل استخدام رمز SAS المميز لتخويل الوصول إلى بيانات كائن ثنائي كبير الحجم، فإنه يمكنك إلحاق هذا الرمز المميز بعنوان URL للمورد في كل أمر AzCopy. على سبيل المثال: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

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

قم بتنزيل نقطة باستخدام أمر azcopy copy.

تلميح

يتضمن هذا المثال الوسيطات الخاصة بالمسار بعلامات اقتباس مفردة (''). استخدم علامات الاقتباس المفردة في كافة أغلفة الأوامر باستثناء shell الأوامر Windows (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'

مثال (نقطة نهاية Data Lake Storage)

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.

تلميح

يتضمن هذا المثال الوسيطات الخاصة بالمسار بعلامات اقتباس مفردة (''). استخدم علامات الاقتباس المفردة في كافة أغلفة الأوامر باستثناء shell الأوامر Windows (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

مثال (نقطة نهاية Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

ينتج عن هذا المثال دليل مسمى C:\myDirectory\myBlobDirectory يحتوي على كافة الكائنات الثنائية كبيرة الحجم التي تم تنزيلها.

تنزيل محتويات الدليل

يمكنك تنزيل محتويات الدليل دون نسخ دليل المحتوي نفسه باستخدام رمز البدل (*).

تلميح

يتضمن هذا المثال الوسيطات الخاصة بالمسار بعلامات اقتباس مفردة (''). استخدم علامات الاقتباس المفردة في كافة أغلفة الأوامر باستثناء shell الأوامر Windows (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 لتنزيل الملفات في جميع الدلائل الفرعية.

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

يمكنك تنزيل الكائنات الثنائية كبيرة الحجم محددة باستخدام أسماء ملفات كاملة أو أسماء جزئية بأحرف بدل (*) أو باستخدام التواريخ والأوقات.

تلميح

تتضمن هذه الأمثلة وسيطات المسار بعلامات اقتباس مفردة (""). استخدم علامات الاقتباس المفردة في كافة أغلفة الأوامر باستثناء shell الأوامر Windows (cmd.exe). في حالة استخدامك Windows Command Shell (cmd.exe)، فقم بإحاطة وسيطات المسار بعلامات اقتباس مزدوجة ("") بدلًا من علامات الاقتباس المفردة ('').

تحديد أسماء كائنات ثنائية كبيرة الحجم كاملة متعددة

استخدم أمر نسخ azcopy مع الخيار --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

مثال (نقطة نهاية Data Lake Storage)

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 copy .

استخدم حرف البدل

استخدم أمر نسخ azcopy مع الخيار --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 copy .

تنطبق الخيارات --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'

مثال (نقطة نهاية Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

للحصول على مرجع مفصل، راجع نسخة من المستندات المرجعية.

تنزيل الإصدارات السابقة من كائن ثنائي كبير الحجم

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

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

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'

مثال (نقطة نهاية Data Lake Storage)

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=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.

تنزيل باستخدام علامات اختيارية

يمكنك تعديل عملية التنزيل باستخدام علامات اختيارية. إليك بعض الأمثلة.

السيناريو العلامة
فك ضغط الملفات تلقائيًا. --decompress
حدد مدى التفصيل الذي تريد أن تكون عليه إدخالات السجل المتعلقة بالنسخ. --مستوى السجل = [تحذير| خطأ|معلومات| لا شيء]
حدد ما إذا كان سيتم الكتابة فوق الملفات والكائنات الثنائية كبيرة الحجم المتعارضة في الوجهة وكيفية ذلك. --overwrite=[true|false|ifSourceNewer|prompt]

للحصول على قائمة كاملة، راجع الخيارات .

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

يمكنك العثور على مزيد من الأمثلة في هذه المقالات:

راجع هذه المقالات لتكوين الإعدادات وتحسين الأداء واستكشاف المشكلات وإصلاحها: