مشاركة عبر


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

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

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

إشعار

لا تتم مزامنة الإصدار الحالي من AzCopy بين المصادر والوجهات الأخرى (على سبيل المثال: تخزين الملفات أو حاويات Amazon Web Services (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

تحديث حاوية مع تغييرات في حاوية أخرى باستخدام رمز SAS المميز

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

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

إعراب

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>/<destination-SAS-token>' --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/?sv=2018-03-28&ss=qrdu&dst=mco&kp=rwdlapuc&se=2019-07-04T05:30:08Z&st=2019-07-03T21:31:10Z&spr=https&sig=CAfhgnc9gdGktvB=yzx9CAjMKeeN678yiyFwdNU092JC8%6D' --recursive

تلميح

إذا كنت تقوم بنسخ كمية كبيرة من البيانات، فيمكنك استخدام Azure Storage Explorer.

للتحقق من حجم البيانات التي نسختها، في قائمة الشريط العلوي، حدد المزيد ->Folder Statistics للحصول على تفاصيل الدليل، بما في ذلك الحجم بالبايت.

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

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

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

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

إشعار

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

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

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

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