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

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

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

ملاحظة

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

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

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

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

ملاحظة

تفترض الأمثلة الواردة في هذه المقالة أنك وفرت بيانات اعتماد التخويل باستخدام Microsoft Azure Active Directory (Azure AD).

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

الإرشادات

  • يقارن أمر المزامنة أسماء الملفات والطوابع الزمنية المُعدلة مؤخرًا. اضبط العلامة الاختيارية --delete-destination على قيمة true أو prompt لحذف الملفات في الدليل الوجهة إذا لم تعد هذه الملفات موجودة في الدليل المصدر.

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

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

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

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

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

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

تلميح

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

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

أول حاوية تظهر في هذا الأمر هي المصدر. الثاني هو الوجهة. تأكد من إلحاق رمز SAS مميز بكل عنوان URL مصدر.

إذا وفرت بيانات اعتماد التخويل باستخدام Microsoft Azure Active Directory (Azure AD)، فيمكنك حذف رمز SAS المميز فقط من عنوان URL الوجهة. تأكد من إعداد الأدوار المناسبة في حساب وجهتك. راجع الخيار 1: استخدام Microsoft Azure Active Directory.

تلميح

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

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

أول دليل يظهر في هذا الأمر هو المصدر. الثاني هو الوجهة. تأكد من إلحاق رمز SAS مميز بكل عنوان URL مصدر.

إذا وفرت بيانات اعتماد التخويل باستخدام Microsoft Azure Active Directory (Azure AD)، فيمكنك حذف رمز SAS المميز فقط من عنوان URL الوجهة. تأكد من إعداد الأدوار المناسبة في حساب وجهتك. راجع الخيار 1: استخدام Microsoft Azure Active Directory.

تلميح

يتضمن هذا المثال الوسيطات الخاصة بالمسار بعلامات اقتباس مفردة (''). استخدم علامات الاقتباس المفردة في كافة shell للأوامر باستثناء Windows Command Shell (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
حدد مدى التفاصيل التي تريد أن تكون عليه إدخالات السجل المتعلقة بالمزامنة. --log-level=[WARNING|ERROR|INFO|NONE]

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

ملاحظة

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

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

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

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