المزامنة مع تخزين Azure Blob باستخدام AzCopy

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

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

إشعار

لا يتزامن الإصدار الحالي من AzCopy بين المصادر والوجهات الأخرى (على سبيل المثال: تخزين الملفات أو مستودعات "خدمات ويب Amazon" (AWS) S3).

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

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

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

إشعار

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

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

المبادئ التوجيهيه

بشكل افتراضي، يقارن أمر المزامنة أسماء الملفات والطوابع الزمنية المعدلة الأخيرة. يمكنك تجاوز هذا السلوك لاستخدام تجزئات MD5 بدلا من آخر طوابع زمنية معدلة باستخدام العلامة --compare-hash . اضبط العلامة الاختيارية --delete-destination على قيمة true أو prompt لحذف الملفات في الدليل الوجهة إذا لم تعد هذه الملفات موجودة في الدليل المصدر.

  • إذا عيّنت العلامة --delete-destination إلى true، يحذف AzCopy الملفات دون تقديم مطالبة. إذا كنت تريد ظهور مطالبة قبل أن يحذف AzCopy ملفًا، فعيّن العلامة --delete-destination إلى prompt.

  • إذا كنت تخطط لتعيين علم --delete-destination إلى prompt أو false، ففكر في استخدام أمر نسخ بدلاً من أمر مزامنة وتعيين ضابط --overwrite إلى ifSourceNewer. يستهلك أمر نسخ ذاكرة أقل ويتحمل تكاليف فوترة أقل لأن عملية النسخ لا تحتاج إلى فهرسة المصدر أو الوجهة قبل نقل الملفات.

  • إذا كنت لا تخطط لاستخدام العلامة --compare-hash ، فيجب أن يكون للجهاز الذي تقوم بتشغيل أمر المزامنة عليه ساعة نظام دقيقة لأن آخر مرة تم تعديلها مهمة في تحديد ما إذا كان يجب نقل الملف أم لا. إذا كان نظامك يحتوي على انحراف كبير في الساعة، تجنب تعديل الملفات في الوجهة القريبة جدًا من الوقت الذي تخطط فيه لتشغيل أمر المزامنة.

  • يستخدم AzCopy واجهات برمجة التطبيقات من خادم إلى خادم لمزامنة البيانات بين حسابات التخزين. وهذا يعني أن البيانات يتم نسخها مباشرة بين خوادم التخزين. ومع ذلك، يقوم AzCopy بإعداد كل عملية نقل ومراقبتها، وبالنسبة لحسابات التخزين الأكبر (على سبيل المثال، الحسابات التي تحتوي على ملايين الكائنات الثنائية كبيرة الحجم)، قد يتطلب AzCopy قدرا كبيرا من موارد الحوسبة لإنجاز هذه المهام. لذلك، إذا كنت تقوم بتشغيل AzCopy من الجهاز الظاهري (VM)، فتأكد من أن الجهاز الظاهري يحتوي على نوى/ذاكرة كافية للتعامل مع الحمل.

  • لمنع عمليات الحذف غير المقصودة، تأكد من تمكين ميزة الحذف المبدئي قبل استخدام العلامة --delete-destination=prompt|true.

تحديث حاوية مع تغييرات على نظام الملفات المحلي

في هذه الحالة، تكون الحاوية هي الوجهة، ويكون نظام الملفات المحلي هو المصدر.

تلميح

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

بناء الجمله

azcopy sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>' --recursive

مثال

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

تحديث نظام الملفات المحلي مع تغييرات على الحاوية

في هذه الحالة، يكون نظام الملفات المحلي هو الوجهة وتكون الحاوية هي المصدر.

تلميح

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

بناء الجمله

azcopy sync 'https://<storage-account-name>.blob.core.windows.net/<container-name>' 'C:\myDirectory' --recursive

مثال

azcopy sync 'https://mystorageaccount.blob.core.windows.net/mycontainer' 'C:\myDirectory' --recursive

تحديث حاوية مع تغييرات في حاوية أخرى

أول حاوية تظهر في هذا الأمر هي المصدر. الثاني هو الوجهة.

إذا قمت بتوفير بيانات اعتماد التخويل باستخدام معرف Microsoft Entra، فتأكد من إعداد الأدوار المناسبة في حساب المصدر والوجهة. راجع الخيار 1: استخدام معرف Microsoft Entra.

تلميح

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

بناء الجمله

azcopy sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>' --recursive

مثال

azcopy sync 'https://mysourceaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

تحديث دليل بالتغييرات التي أُجريت على دليل في حاوية أخرى

أول دليل يظهر في هذا الأمر هو المصدر. الثاني هو الوجهة.

إذا قمت بتوفير بيانات اعتماد التخويل باستخدام معرف Microsoft Entra، فتأكد من إعداد الأدوار المناسبة في حساب المصدر والوجهة. راجع الخيار 1: استخدام معرف Microsoft Entra.

تلميح

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

بناء الجمله

azcopy sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive

مثال

azcopy sync 'https://mysourceaccount.blob.core.windows.net/<container-name>/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myDirectory' --recursive

المزامنة مع العلامات الاختيارية

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

السيناريو العلامة
حدد مدى دقة التحقق من صحة تجزئات MD5 عند التنزيل. --check-md5=[NoCheck|LogOnly|FailIfDifferent|FailIfDifferentOrMissing]
استبعاد الملفات بناءً على نمط. --exclude-path
حدد مدى التفاصيل التي تريد أن تكون عليه إدخالات السجل المتعلقة بالمزامنة. --مستوى السجل = [تحذير| خطأ|معلومات| لا شيء]

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

إشعار

تُعيّن العلامة --recursive إلى true بشكل افتراضي. تُطبق العلامتين --exclude-pattern و--include-pattern فقط على أسماء الملفات وليس الأجزاء الأخرى من مسار الملف.

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

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

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