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

تساعدك هذه المقالة على تصدير كميات كبيرة من البيانات بانتظام مع عمليات التصدير من 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 أربعة عمليات نقل متوازية باستخدام ثمانية حسابات تخزين: أربعة غرب إلى أربعة متوسطات شرق لكل نقل
6 شرق الولايات المتحدة 2 جيجا بايت × 10 × 4 92 870 أربع عمليات نقل متوازية من حساب تخزين إلى آخر
5 شرق الولايات المتحدة 2 غيغابايت × 10 × 8 148 135 ثمانية عمليات نقل متوازية باستخدام ثمانية حسابات تخزين: أربعة متوسطات من الغرب إلى أربعة شرق لكل عملية نقل
7 جنوب شرق آسيا 2 جيجا بايت × 10 133 150
8 جنوب شرق آسيا 2 جيجا بايت × 10 × 4 444 180 أربع عمليات نقل متوازية من حساب تخزين إلى آخر

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

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

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

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

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

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

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

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