المزامنة مع تخزين 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
فقط على أسماء الملفات وليس الأجزاء الأخرى من مسار الملف.
الخطوات التالية
يمكنك العثور على مزيد من الأمثلة في هذه المقالات:
- أمثلة: تحميل
- أمثلة: تنزيل
- أمثلة: النسخ بين الحسابات
- أمثلة: مستودعات Amazon S3
- أمثلة: Google Cloud Storage
- أمثلة: ملفات Azure
- برنامج تعليمي: ترحيل البيانات المحلية إلى التخزين السحابي باستخدام AzCopy
راجع هذه المقالات لتكوين الإعدادات وتحسين الأداء واستكشاف المشكلات وإصلاحها: