مخزون كائن ثنائي كبير الحجم Azure Storage

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

ميزات المخزون

توضح القائمة التالية الميزات والإمكانات المتوفرة في الإصدار الحالي من مخزون الكائن الثنائي كبير الحجم Azure Storage.

  • تقارير المخزون للكائنات الثنائية كبيرة الحجم والحاويات

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

  • مخطط مخصص

    يمكنك اختيار الحقول التي تظهر في التقارير. اختر من قائمة الحقول المدعومة. تظهر هذه القائمة لاحقاً في هذه المقالة.

  • تنسيق إخراج CSV وApache Parquet

    يمكنك إنشاء تقرير مخزون إما بتنسيق إخراج CSV أو Apache Parquet.

  • ملف البيان وحدث Azure Event Grid لكل تقرير مخزون

    يتم إنشاء ملف بيان وحدث Azure Event Grid لكل تقرير مخزون. يتم وصف الخصائص لاحقاً في هذه المقالة.

تمكين تقارير المخزون

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

ترقية نهج المخزون

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

  • يتم الآن دعم حاوية الوجهة لكل قاعدة بدلاً من مجرد دعمها للنهج.

  • يتم الآن إنشاء ملف بيان وحدث Azure Event Grid لكل قاعدة بدلاً من كل نهج.

نهج المخزون

يتم تكوين تقرير المخزون عن طريق إضافة نهج مخزون يحتوي على قاعدة واحدة أو أكثر. نهج المخزون هو مجموعة من القواعد في مستند JSON.

{
  "enabled": true,
  "rules": [
  {
    "enabled": true,
    "name": "inventoryrule1",
    "destination": "inventory-destination-container",
    "definition": {. . .}
  },
  {
    "enabled": true,
    "name": "inventoryrule2",
    "destination": "inventory-destination-container",
    "definition": {. . .}
  }]
}

اعرض JSON لنهج مخزون عن طريق تحديد علامة التبويب طريقة عرض التعليمات البرمجية في قسم مخزون Blob في مدخل Azure.

اسم المعلمة نوع المعلمة ملاحظات مطلوب؟
ممكّن منطقي يستخدم لتعطيل النهج بأكمله. عند تعيينه إلى صحيح، يتجاوز الحقل المُمكَّن على مستوى القاعدة هذه المعلمة. عند تعطيله، سيتم تعطيل المخزون لجميع القواعد. نعم
قواعد صفيف من كائنات القاعدة مطلوب قاعدة واحدة على الأقل في النهج. يتم دعم ما يصل إلى 100 قاعدة لكل نهج. نعم

قواعد المخزون

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

تحتوي كل قاعدة ضمن النهج على معلمات متعددة:

اسم المعلمة نوع المعلمة ملاحظات مطلوب؟
الاسم سلسلة يمكن أن يتضمن اسم القاعدة ما يصل إلى 256 حرفاً أبجدياً رقمياً متحسس لحالة الأحرف. يجب أن يكون الاسم فريداً داخل نهج. نعم
ممكّن منطقي علامة تسمح بتمكين قاعدة أو تعطيلها. تُعد القيمة الافتراضية هي صحيح. نعم
التعريف تعريف قاعدة مخزون JSON يتكون كل تعريف من مجموعة عوامل تصفية القاعدة. نعم
الوجهة سلسلة الحاوية الوجهة حيث سيتم إنشاء جميع ملفات المخزون. يجب أن تكون حاوية الوجهة موجودة بالفعل.

يكون لعلامة تمكين مخزون Blob العامة الأسبقية على المعلمة المُمكَّنة في قاعدة.

تعريف قاعدة

اسم المعلمة نوع المعلمة ملاحظات مطلوب
التصفيات json تقرر عوامل التصفية ما إذا كان الكائن الثنائي كبير الحجم أو الحاوية جزءاً من المخزون أم لا. نعم
التنسيق سلسلة يحدد مخرجات ملف المخزون. القيم الصالحة هي csv (لتنسيق CSV) و parquet (لتنسيق Apache Parquet). نعم
objectType سلسلة يشير إلى ما إذا كانت هذه قاعدة مخزون للكائنات الثنائية كبيرة الحجم أو الحاويات. القيم الصالحة هي ⁧blob⁩ و⁧container⁩. نعم
جدول زمني سلسلة الجدول الزمني لتشغيل هذه القاعدة. القيم الصالحة هي ⁧daily⁩ و⁧weekly⁩. نعم
schemaFields صفيف JSON قائمة بحقول Schema لتكون جزءاً من المخزون. نعم

عوامل تصفية القواعد

تتوفر العديد من عوامل التصفية لتخصيص تقرير مخزون كائن ثنائي كبير الحجم:

اسم عامل التصفية نوع عامل التصفية ملاحظات مطلوب؟
أنواع blob صفيف قيم قائمة التعداد المُحددة مسبقاً القيم الصالحة هي blockBlob و appendBlob للحسابات المُمكِّنة لمساحة الاسم الهرمية، و blockBlob و appendBlob و pageBlob للحسابات الأخرى. لا ينطبق هذا الحقل على المخزون الموجود على حاوية، (objectType: container). نعم
prefixMatch صفيف يصل إلى 10 سلاسل للبادئات المراد مطابقتها. إذا لم تحدد prefixMatch أو تقدم بادئة فارغة، فستنطبق القاعدة على جميع الكائنات الثنائية كبيرة الحجم داخل حساب التخزين. يجب أن تكون البادئة بادئة اسم حاوية أو اسم حاوية. على سبيل المثال container و container1/foo. لا
includeSnapshots منطقي يحدد ما إذا كان يجب أن يتضمن المخزون لقطات. الافتراضي هو false. لا ينطبق هذا الحقل على المخزون الموجود على حاوية، (objectType: container). لا
includeBlobVersions منطقي يحدد ما إذا كان يجب أن يتضمن المخزون إصدارات كائنات ثنائية كبيرة الحجم. الافتراضي هو false. لا ينطبق هذا الحقل على المخزون الموجود على حاوية، (objectType: container). لا

اعرض JSON لقواعد مخزون عن طريق تحديد علامة التبويب طريقة عرض التعليمات البرمجية في قسم مخزون Blob في مدخل Azure. يتم تحديد عوامل التصفية ضمن تعريف قاعدة.

{
  "destination": "inventory-destination-container",
  "enabled": true,
  "rules": [
  {
    "definition": {
      "filters": {
        "blobTypes": ["blockBlob", "appendBlob", "pageBlob"],
        "prefixMatch": ["inventorytestcontainer1", "inventorytestcontainer2/abcd", "etc"],
        "includeSnapshots": false,
        "includeBlobVersions": true,
      },
      "format": "csv",
      "objectType": "blob",
      "schedule": "daily",
      "schemaFields": ["Name", "Creation-Time"]
    },
    "enabled": true,
    "name": "blobinventorytest",
    "destination": "inventorydestinationContainer"
  },
  {
    "definition": {
      "filters": {
        "prefixMatch": ["inventorytestcontainer1", "inventorytestcontainer2/abcd", "etc"]
      },
      "format": "csv",
      "objectType": "container",
      "schedule": "weekly",
      "schemaFields": ["Name", "HasImmutabilityPolicy", "HasLegalHold"]
    },
    "enabled": true,
    "name": "containerinventorytest",
    "destination": "inventorydestinationContainer"
    }
  ]
}

حقول المخطط المخصصة المدعومة لمخزون كائن ثنائي كبير الحجم

  • الاسم (مطلوب)
  • وقت الإنشاء
  • تاريخ التعديل الأخير
  • طول المحتوى
  • المحتوى-MD5
  • BlobType
  • AccessTier
  • AccessTierChangeTime
  • Expiry-Time
  • hdi_isfolder
  • مالك
  • التجميع
  • الأذونات
  • قائمة التحكم بالوصول (Acl)
  • لقطة (متوفرة ومطلوبة عندما تختار تضمين لقطات في تقريرك)
  • VersionId (متوفر ومطلوب عندما تختار تضمين إصدارات كائن ثنائي كبير الحجم في تقريرك)
  • IsCurrentVersion (متوفر ومطلوب عندما تختار تضمين إصدارات كائن ثنائي كبير الحجم في تقريرك)
  • بيانات التعريف
  • LastAccessTime

حقول المخطط المخصصة المدعومة لمخزون الحاوية

  • الاسم (مطلوب)
  • تاريخ التعديل الأخير
  • LeaseStatus
  • LeaseState
  • LeaseDuration
  • PublicAccess
  • HasImmutabilityPolicy
  • HasLegalHold
  • بيانات التعريف

تشغيل المخزون

تتم جدولة تشغيل مخزون كائن ثنائي كبير الحجم تلقائياً كل يوم. قد يستغرق الأمر ما يصل إلى 24 ساعة حتى يكتمل تشغيل المخزون. بالنسبة للحسابات المُمكِّنة لمساحة الاسم الهرمية، قد يستغرق التشغيل ما يصل إلى يومين، واستناداً إلى عدد الملفات التي تتم معالجتها، قد لا يكتمل التشغيل بنهاية ذلك اليومين. إذا لم يكتمل التشغيل بنجاح، فتحقق من عمليات التشغيل اللاحقة لمعرفة ما إذا كانت قد اكتملت قبل الاتصال بالدعم. يمكن أن يختلف أداء التشغيل، لذلك إذا لم يكتمل التشغيل، فمن المحتمل أن تكون عمليات التشغيل اللاحقة كذلك.

تتم قراءة نُهج المخزون أو كتابتها بالكامل. التحديثات الجزئية غير مدعومة.

هام

إذا مكَّنت قواعد جدار الحماية لحساب التخزين خاصتك، فقد يتم حظر طلبات المخزون. يمكنك إلغاء حظر هذه الطلبات من خلال توفير استثناءات لخدمات Microsoft الموثوقة. لمزيد من المعلومات، راجع قسم الاستثناءات في تكوين جدران الحماية والشبكات الظاهرية.

حدث اكتمال المخزون

يتم إنشاء الحدث BlobInventoryPolicyCompleted عند اكتمال تشغيل المخزون لقاعدة. يحدث هذا الحدث أيضاً في حالة فشل تشغيل المخزون مع خطأ مستخدم قبل بدء تشغيله. على سبيل المثال، سيؤدي نهج غير صالح أو خطأ يحدث عند عدم وجود حاوية وجهة إلى تشغيل الحدث. يعرض ملف json التالي مثالاً على الحدث BlobInventoryPolicyCompleted.

{
  "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/BlobInventory/providers/Microsoft.EventGrid/topics/BlobInventoryTopic",
  "subject": "BlobDataManagement/BlobInventory",
  "eventType": "Microsoft.Storage.BlobInventoryPolicyCompleted",
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "data": {
    "scheduleDateTime": "2021-05-28T03:50:27Z",
    "accountName": "testaccount",
    "ruleName": "Rule_1",
    "policyRunStatus": "Succeeded",
    "policyRunStatusMessage": "Inventory run succeeded, refer manifest file for inventory details.",
    "policyRunId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "manifestBlobUrl": "https://testaccount.blob.core.windows.net/inventory-destination-container/2021/05/26/13-25-36/Rule_1/Rule_1.csv"
  },
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2021-05-28T15:03:18Z"
}

يصف الجدول التالي مخطط الحدث BlobInventoryPolicyCompleted.

الحقل النوع الوصف
scheduleDateTime سلسلة الوقت الذي تم فيه جدولة نهج المخزون.
accountName سلسلة اسم حساب التخزين.
ruleName سلسلة اسم القاعدة.
policyRunStatus سلسلة حالة تشغيل المخزون. القيم المُحتملة هي Succeeded و PartiallySucceeded و Failed.
policyRunStatusMessage سلسلة يتم تشغيل رسالة الحالة الخاصة بالمخزون.
policyRunId سلسلة معرف تشغيل النهج لتشغيل المخزون.
manifestBlobUrl سلسلة عنوان URL للكائن الثنائي كبير الحجم لملف البيان لتشغيل المخزون.

إخراج المخزون

تنشئ كل قاعدة مخزون مجموعةً من الملفات في حاوية وجهة المخزون المحددة لتلك القاعدة. يتم إنشاء إخراج المخزون ضمن المسار https://<accountName>.blob.core.windows.net/<inventory-destination-container>/YYYY/MM/DD/HH-MM-SS/<ruleName التالي: حيث:

  • accountName هو اسم حساب Azure Blob Storage خاصتك.
  • inventory-destination-container هي حاوية الوجهة التي حددتها في قاعدة المخزون.
  • YYYY/MM/DD/HH-MM-SS هو الوقت الذي بدأ فيه تشغيل المخزون.
  • ruleName هو اسم قاعدة المخزون.

عوامل تصفية المخزون

يُنشئ كل مخزون تشغيل لقاعدة الملفات التالية:

  • ملف المخزون: يؤدي تشغيل مخزون لقاعدة إلى إنشاء ملف واحد أو أكثر من ملفات CSV أو Apache Parquet المنسقة. إذا كان عدد الكائنات المطابقة كبيراً، بادر بإنشاء ملفات متعددة بدلاً من ملف واحد. يحتوي كل ملف من هذا القبيل على كائنات متطابقة وبياناتها التعريفية.

    ملاحظة

    التقارير بتنسيق Apache Parquet تقدم التواريخ بالتنسيق التالي: timestamp_millis [number of milliseconds since 1970-01-01 00:00:00 UTC.

    بالنسبة إلى ملف بتنسيق CSV، يكون الصف الأول دائماً هو صف المخطط. تعرض الصورة التالية ملف CSV لمخزون تم فتحه في Microsoft Excel.

    Screenshot of an inventory CSV file opened in Microsoft Excel

    هام

    قد لا تظهر مسارات الكائنات الثنائية كبيرة الحجم التي تظهر في ملف مخزون بأي ترتيبٍ معينٍ.

  • ملف المجموع الاختباري: يحتوي ملف المجموع الاختباري على المجموع الاختباري MD5 لمحتويات الملف manifest.json. اسم ملف المجموع الاختباري هو <ruleName>-manifest.checksum. يمثل إنشاء ملف المجموع الاختباري اكتمال تشغيل قاعدة المخزون.

  • ملف البيان: يحتوي ملف manifest.json على تفاصيل ملف (ملفات) المخزون التي تم إنشاؤها لهذه القاعدة. اسم الملف هو <ruleName>-manifest.json. يسجل هذا الملف أيضاً تعريف القاعدة الذي يوفره المستخدم والمسار إلى المخزون لتلك القاعدة. يعرض json التالي محتويات نموذج ملف manifest.json.

    {
    "destinationContainer" : "inventory-destination-container",
    "endpoint" : "https://testaccount.blob.core.windows.net",
    "files" : [
      {
        "blob" : "2021/05/26/13-25-36/Rule_1/Rule_1.csv",
        "size" : 12710092
      }
    ],
    "inventoryCompletionTime" : "2021-05-26T13:35:56Z",
    "inventoryStartTime" : "2021-05-26T13:25:36Z",
    "ruleDefinition" : {
      "filters" : {
        "blobTypes" : [ "blockBlob" ],
        "includeBlobVersions" : false,
        "includeSnapshots" : false,
        "prefixMatch" : [ "penner-test-container-100003" ]
      },
      "format" : "csv",
      "objectType" : "blob",
      "schedule" : "daily",
      "schemaFields" : [
        "Name",
        "Creation-Time",
        "BlobType",
        "Content-Length",
        "LastAccessTime",
        "Last-Modified",
        "Metadata",
        "AccessTier"
      ]
    },
    "ruleName" : "Rule_1",
    "status" : "Succeeded",
    "summary" : {
      "objectCount" : 110000,
      "totalObjectSize" : 23789775
    },
    "version" : "1.0"
    }
    

التسعير والفوترة

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

تبدأ فوترة مخزون الكائنات الثنائية كبيرة الحجم في 1 أكتوبر 2021. سيتم نشر الأسعار الإقليمية في ذلك الوقت. يبلغ السعر الأساسي بدون تعديل إقليمي حوالي 0.0025 دولاراً أمريكياً لكل مليون إدخال تم مسحه ضوئياً لتخزين الكائنات الثنائية كبيرة الحجم و0.0035 دولاراً أمريكياً إذا تم تمكين Data Lake Storage Gen2. بعد إنشاء ملفات المخزون، سيتم تكبد رسوم تخزين وعمليات قياسية إضافية لتخزين وقراءة وكتابة الملفات التي تم إنشاؤها بواسطة المخزون في الحساب.

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

إذا كانت القاعدة تحتوي على بادئة تتداخل مع بادئة أي قاعدة أخرى، فيمكن أن يظهر الكائن الثنائي كبير الحجم نفسه في أكثر من تقرير مخزون واحد. في هذه الحالة، تتم محاسبتك على كلتا الحالتين. على سبيل المثال، افترض أنه تم تعيين عنصر prefixMatch إحدى القواعد على ["inventory-blob-1", "inventory-blob-2"]، وتم تعيين عنصر prefixMatch قاعدة أخرى على ["inventory-blob-10", "inventory-blob-20"]. يظهر الكائن المُسمى inventory-blob-200 في تقريري المخزون.

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

لمزيد من المعلومات عن تسعير مخزون كائن ثنائي كبير الحجم Azure Storage، راجع تسعير Azure Blob Storage.

دعم الميزة

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

نوع حساب التخزين Blob Storage (الدعم الافتراضي) Data Lake Storage Gen2 ⁧⁩1⁧ NFS 3.0 ⁧⁩1⁧ SFTP 1
معيار الأغراض العامة v2 Yes Yes2 Yes2 Yes2
Premium كتلة blobs Yes Yes2 Yes2 Yes2

1 تتطلب كل من Data Lake Storage Gen2 و Network File System (NFS) 3.0 وSSH File Transfer Protocol (SFTP) حساب تخزين مع تمكين مساحة اسماء هرمية.

2 الميزة مدعومة على مستوى المعاينة.

المشكلات المعروفة

يصف هذا القسم القيود والمشكلات المعروفة لميزة مخزون كائن ثنائي كبير الحجم Azure Storage.

فشل مهمة المخزون في الإكمال للحسابات المُمكِّنة لمساحة الاسم الهرمية

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

لا يمكن لمهمة المخزون كتابة تقارير المخزون

يمكن أن يمنع نهج النسخ المتماثل للكائن مهمة المخزون من كتابة تقارير المخزون إلى الحاوية الوجهة. يمكن لبعض السيناريوهات الأخرى أرشفة التقارير أو جعلها غير قابلة للتغيير عند اكتمالها جزئياً. هذا يمكن أن يؤدي إلى فشل مهمة المخزون.

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