استرداد مجموعات بيانات التكلفة الكبيرة بشكل متكرر مع عمليات التصدير

تساعدك هذه المقالة على تصدير كميات كبيرة من البيانات بانتظام مع عمليات التصدير من Cost Management. التصدير هو الطريقة الموصى بها لاسترداد بيانات التكلفة غير المجمعة. خاصة عندما تكون ملفات الاستخدام كبيرة جداً بحيث لا يمكن الاتصال بها وتحميلها بشكل موثوق باستخدام واجهة برمجة تطبيقات تفاصيل التكلفة. يتم وضع البيانات المصدرة في حساب Azure Storage الذي تختاره. من هناك، يمكنك تحميله في أنظمتك الخاصة وتحليله حسب الحاجة. لتكوين الصادرات في مدخل Microsoft Azure، راجع Export data.

إذا كنت تريد أتمتة عمليات التصدير في نطاقات مختلفة، فإن نموذج طلب واجهة برمجة التطبيقات في القسم التالي يمثل نقطة انطلاق جيدة. يمكنك استخدام Exports API لإنشاء عمليات تصدير تلقائية كجزء من التكوين العام للبيئة الخاصة بك. تساعد عمليات التصدير التلقائية على ضمان حصولك على البيانات التي تحتاجها. يمكنك استخدام في أنظمة مؤسستك كما يمكنك توسيع استخدامك لـ Azure.

تكوينات التصدير الشائعة

قبل إنشاء أول عملية تصدير لك، ضع في اعتبارك السيناريو وخيارات التكوين التي تحتاجها لتمكينه. ضع في اعتبارك خيارات التصدير التالية:

  • التكرار - يحدد عدد مرات تشغيل مهمة التصدير ومتى يتم وضع ملف في حساب Azure Storage. اختر بين يومياً وأسبوعياً وشهرياً. حاول تكوين التكرار لمطابقة وظائف استيراد البيانات التي يستخدمها النظام الداخلي لمؤسستك.
  • فترة التكرار - تحدد المدة التي يبقى التصدير صالحاً خلالها. يتم تصدير الملفات فقط أثناء فترة التكرار.
  • الإطار الزمني - يحدد مقدار البيانات التي يتم إنشاؤها بواسطة التصدير على تشغيل معين. الخيارات الشائعة هي MonthToDate وWeekToDate.
  • تاريخ البدء - تكوين عندما تريد بدء الجدول الزمني للتصدير. يتم إنشاء تصدير على تاريخ البدء ثم لاحقاً استناداً إلى التكرار.
  • النوع - هناك ثلاثة أنواع للتصدير:
    • ActualCost - يعرض إجمالي الاستخدام والتكاليف للفترة المحددة، حيث يتم استحقاقها ويظهر في فاتورتك.
    • AmortizedCost - يعرض إجمالي الاستخدام والتكاليف للفترة المحددة، مع تطبيق الاستهلاك على تكاليف شراء الحجز المطبقة.
    • الاستخدام - جميع عمليات التصدير التي تم إنشاؤها قبل 20 يوليو 2020 هي من النوع Usage. تحديث جميع الصادرات المجدولة الخاصة بك إما ActualCost أو AmortizedCost.
  • الأعمدة – يحدد حقول البيانات التي تريد تضمينها في ملف التصدير. تتوافق مع الحقول المتوفرة في واجهة برمجة تطبيقات تفاصيل التكلفة.
  • التقسيم - قم بتعيين الخيار إلى صحيح إذا كان لديك مجموعة بيانات كبيرة وترغب في تقسيمها إلى ملفات متعددة. وهذا يجعل استيعاب البيانات أسرع وأسهل بكثير. لمزيد من المعلومات حول التقسيم، راجع تقسيم الملفات لمجموعات البيانات الكبيرة.

قم بإنشاء عملية تصدير يومية للاشتراك من شهر لآخر

عنوان URL للطلب: PUT https://management.azure.com/{scope}/providers/Microsoft.CostManagement/exports/{exportName}?api-version=2020-06-01

{
  "properties": {
    "schedule": {
      "status": "Active",
      "recurrence": "Daily",
      "recurrencePeriod": {
        "from": "2020-06-01T00:00:00Z",
        "to": "2020-10-31T00:00:00Z"
      }
    },
    "format": "Csv",
    "deliveryInfo": {
      "destination": {
        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/{yourStorageAccount} ",
        "container": "{yourContainer}",
        "rootFolderPath": "{yourDirectory}"
      }
    },
    "definition": {
      "type": "ActualCost",
      "timeframe": "MonthToDate",
      "dataSet": {
        "granularity": "Daily",
        "configuration": {
          "columns": [
            "Date",
            "MeterId",
            "ResourceId",
            "ResourceLocation",
            "Quantity"
          ]
        }
      }
    }
}

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

يمكنك استخدام إدارة التكاليف لجدولة عمليات تصدير تفاصيل استخدام Azure إلى حسابات تخزين Azure ككائنات ثنائية كبيرة الحجم. يمكن أن تكون أحجام الكائن الثنائي كبير الحجم الناتجة أكثر من جيجابايت في الحجم. عمل فريق إدارة التكاليف مع فريق التخزين Azure لاختبار نسخ الكائنات الثنائية كبيرة الحجم لتخزين Azure. يتم توثيق النتائج في الأقسام التالية. يمكنك أن تتوقع الحصول على نتائج مماثلة عند نسخ كائنات ثنائية كبيرة الحجم للتخزين من منطقة Azure إلى أخرى.

لاختبار أدائه، قام الفريق بنقل الكائنات الثنائية كبيرة الحجم من حسابات التخزين في منطقة غرب الولايات المتحدة إلى نفس المناطق والمناطق الأخرى. وقاس الفريق السرعات التي تراوحت بين 2 جيجابايت في الثانية في المنطقة نفسها و150 ميجابايت في الثانية وحسابات التخزين في منطقة جنوب شرق آسيا.

تكوين الاختبار

لقياس سرعات نقل البيانات في الكائنات الثنائية كبيرة الحجم، أنشأ الفريق تطبيقاً بسيطاً لوحدة تحكم Microsoft .NET يشير إلى أحدث إصدار (v2.0.1) من مكتبة حركة البيانات Azure (DLM) عبر NuGet. DLM عبارة عن حزمة SDK يوفرها فريق Azure Storage والتي تتيح الوصول البرمجي إلى خدمات النقل الخاصة بهم. ثم قاموا بإنشاء حسابات تخزين قياسية V2 في مناطق متعددة واستخدموا غرب الولايات المتحدة كمنطقة مصدر. لقد ملأوا حسابات التخزين هناك بحاويات، حيث احتوى كل منها على عشر كتل كائنات ثنائية كبيرة الحجم سعتها 2 جيجابايت. قاموا بنسخ الحاويات إلى حسابات تخزين أخرى باستخدام طريقة DLM TransferManager.CopyDirectoryAsync () باستخدام خيار CopyMethod.ServiceSideSyncCopy. تم إجراء الاختبارات على جهاز حاسوب يعمل بنظام Windows 10 مزود بـ 12 مركزاً وشبكة 1 GbE.

إعدادات التطبيق المستخدمة:

  • TransferManager.Configurations.ParallelOperations = Environment.ProcessorCount * 32. وجد الفريق أن الإعداد له أكبر تأثير على معدل النقل الإجمالي. قدمت قيمة 32 ضعف عدد النوى أفضل معدل نقل لعميل الاختبار.
  • ServicePointManager.DefaultConnectionLimit = int.MaxValue. يؤدي تعيينه إلى قيمة قصوى إلى تمرير التحكم الكامل في نقل التوازي إلى إعداد ParallelOperations أعلاه.
  • TransferManager.Configurations.BlockSize = 4,194,304. كان له بعض التأثير على معدلات النقل مع 4 ميجا بايت، مما يثبت أنه الأفضل للاختبار.

لمزيد من المعلومات وعينة التعليمة البرمجية، راجع الروابط الموجودة في قسم الخطوات التالية.

نتائج الاختبار

رقم الاختبار إلى منطقة الكائنات الثنائية كبيرة الحجم الوقت (ثانية) ميجا بايت/ثانية التعليقات
1 غرب الولايات المتحدة 2 جيجا بايت × 10 10 2,000
2 غرب الولايات المتحدة2 2 جيجا بايت × 10 33 600
3 شرق الولايات المتحدة 2 جيجا بايت × 10 67 300
4 شرق الولايات المتحدة 2 جيجا بايت × 10 × 4 99 200 4 عمليات نقل متوازية باستخدام 8 حسابات تخزين: متوسط ​​4 غرب إلى 4 شرق لكل عملية نقل
6 شرق الولايات المتحدة 2 جيجا بايت × 10 × 4 92 870 4 تحويلات متوازية من حساب تخزين إلى آخر
5 شرق الولايات المتحدة 2 جيجا بايت × 10 × 8 148 135 8 عمليات نقل متوازية باستخدام 8 حسابات تخزين: متوسط ​​4 غرب إلى 4x2 شرقاً لكل عملية نقل
7 جنوب شرق آسيا 2 جيجا بايت × 10 133 150
8 جنوب شرق آسيا 2 جيجا بايت × 10 × 4 444 180 4 تحويلات متوازية من حساب تخزين إلى آخر

خصائص نقل المزامنة

فيما يلي بعض خصائص نقل المزامنة من جانب الخدمة المستخدم مع DML ذات الصلة باستخدامه:

  • يمكن لـ DML نقل كائن ثنائي كبير الحجم واحد أو دليل. لنقل الدليل، يمكنك استخدام نمط بحث لمطابقة على بادئة كائن ثنائي كبير الحجم.
  • تحدث عمليات النقل المجمع للكائن الثنائي كبير الحجم بشكل متوازٍ. كلها مكتملة في نهاية عملية النقل. يتم نقل كتل الكائن الثنائي كبير الحجم بشكل متوازٍ.
  • يتم تنفيذ النقل بشكل غير متزامن على العميل. حالة النقل متوفرة بشكل دوري عبر رد اتصال إلى أسلوب يمكن تعريفه في عنصر TransferContext.
  • النقل بإنشاء نقاط فحص أثناء تقدمها ويعرض كائنTransferCheckpoint. يمثل الكائن أحدث نقطة اختبار عبر عنصر TransferContext. إذا تم حفظ TransferCheckpoint قبل إلغاء/إحباط عملية النقل، يمكن استئناف النقل من نقطة الفحص لمدة تصل إلى سبعة أيام. ويمكن استئناف النقل من أي نقطة فحص، وليس فقط من آخر نقطة.
  • إذا توقفت عملية نقل العميل وأعيد تشغيلها دون تطبيق ميزة نقطة الفحص.
    • قبل اكتمال أي نقل كائن ثنائي كبير الحجم، يتم إعادة تشغيل النقل.
    • بعد أن تم الانتهاء من بعض الكائنات الثنائية كبيرة الحجم وإعادة تشغيل الكائنات الثنائية كبيرة الحجم غير المكتملة فقط.
  • إيقاف تنفيذ العميل مؤقتاً لعمليات النقل.
  • تعمل ميزة نقل البيانات الثنائية كبيرة الحجم على تجريد العميل من حالات الفشل المؤقتة. على سبيل المثال، لن يؤدي تقييد حساب التخزين عادة إلى فشل عملية النقل ولكنه سيبطئ عملية النقل.
  • عمليات النقل من جانب الخدمة لها استخدام منخفض لموارد العميل لوحدة المعالجة المركزية والذاكرة، وبعض النطاق الترددي للشبكة، والاتصالات.

خصائص نقل المزامنة

يمكنك استدعاء الأسلوب TransferManager.CopyDirectoryAsync () باستخدام الخيار CopyMethod.ServiceSideAsyncCopy. تعمل بطريقة مشابهة لآلية نقل المزامنة من منظور العميل ولكن مع الاختلافات التالية في التشغيل:

  • معدلات النقل أبطأ بكثير من نقل المزامنة المكافئ (عادةً 10 ميجابايت / ثانية أو أقل).
  • يستمر النقل حتى في حالة إنهاء عملية العميل.
  • على الرغم من دعم نقاط التفتيش، فإن استئناف النقل باستخدام TransferCheckpoint لن يُستأنف في وقت نقطة التفتيش ولكن في حالة النقل الحالية.

ملخص الاختبار

يدعم تخزين مخزن Azure للكائنات الثنائية كبيرة الحجم معدلات نقل عالمية عالية مع ميزة نقل المزامنة من جانب الخدمة. استخدام الميزة في تطبيقات Microsoft .NET مباشرة باستخدام مكتبة التعليمات البرمجية لنقل البيانات. من الممكن أن تقوم عمليات تصدير إدارة التكاليف بنسخ مئات الجيجابايت من البيانات بشكل موثوق إلى حساب تخزين في أي مكان في أقل من ساعة.

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