استكشاف أخطاء Azure Data Lake Storage في Azure Data Factory وAzure Synapse وإصلاحها

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

تقدم هذه المقالة اقتراحات لاستكشاف المشكلات الشائعة المتعلقة بموصلات Azure Data Lake Storage Gen1 وGen2 في Azure Data Factory وAzure Synapse وإصلاحها.

Azure Data Lake Storage الجيل الأول

رسالة الخطأ: تم إغلاق الاتصال الأساسي: تعذر إنشاء علاقة ثقة لقناة TLS/ SSL الآمنة.

  • الأعراض: فشل نشاط النسخ مع الخطأ التالي:

    Message: ErrorCode = UserErrorFailedFileOperation, Error Message = The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

  • السبب: فشل التحقق من صحة الشهادة أثناء تأكيد اتصال TLS.

  • الحل: كحل بديل، استخدم النسخة المرحلية لتخطي التحقق من صحة بروتوكول أمان طبقة النقل (TLS) لـ Azure Data Lake Storage Gen1. تحتاج إلى إعادة إنشاء هذه المشكلة وجمع تتبع مراقبة الشبكة (netmon)، ثم إشراك فريق الشبكة لديك للتحقق من تكوين الشبكة المحلية.

    رسم تخطيطي لاتصالات Azure Data Lake Storage Gen1 لاستكشاف الأخطاء وإصلاحها.

رسالة الخطأ: أرجع الخادم البعيد خطأً: محظور (403)

  • الأعراض: فشل نشاط النسخ مع الخطأ التالي:

    Message: The remote server returned an error: (403) Forbidden. Response details: {"RemoteException":{"exception":"AccessControlException""message":"CREATE failed with error 0x83090aa2 (Forbidden. ACL verification failed. Either the resource does not exist or the user is not authorized to perform the requested operation.)....

  • السبب: أحد الأسباب المحتملة هو أن كيان الخدمة أو الهوية المُدارة التي تستخدمها ليس لديه إذن للوصول إلى مجلدات أو ملفات معينة.

  • الحل: منح الأذونات المناسبة لجميع المجلدات والمجلدات الفرعية التي تحتاج إلى نسخها. للحصول على مزيدٍ من المعلومات، راجع نسخ البيانات من Azure Data Lake Storage Gen1 أو إليه.

رسالة الخطأ: فشل في الحصول على الرمز المميز للوصول باستخدام كيان الخدمة. خطأ ADAL: service_unavailable

  • الأعراض: فشل نشاط النسخ مع الخطأ التالي:

    Failed to get access token by using service principal. ADAL Error: service_unavailable, The remote server returned an error: (503) Server Unavailable.

  • السبب: عندما لا يتوفر Service Token Server (STS) المملوك لمعرف Microsoft Entra، فهذا يعني أنه مشغول جدا لمعالجة الطلبات، ويرجع خطأ HTTP 503.

  • الحل: أعد تشغيل نشاط النسخ بعد عدة دقائق.

Azure Data Lake Storage Gen2

رمز الخطأ: ADLSGen2OperationFailed

  • الرسالة: ADLS Gen2 operation failed for: %adlsGen2Message;.%exceptionData;.

  • الأسباب والتوصيات: قد تؤدي الأسباب المختلفة إلى حدوث هذا الخطأ. تحقق أدناه قائمة لتحليل السبب المحتمل، والتوصية ذات الصلة.

    تحليل السبب التوصية
    إذا أظهر Azure Data Lake Storage Gen2 خطأً يشير إلى فشل بعض العمليات. تحقق من رسالة الخطأ المفصلة التي أظهرها Azure Data Lake Storage Gen2. إذا كان الخطأ هو فشل مؤقت، فأعد محاولة العملية. للحصول على مزيد من التعليمات، اتصل بدعم Azure Storage، واكتب معرّف الطلب الوارد في رسالة الخطأ.
    إذا كانت رسالة الخطأ تحتوي على السلسلة "محظور"، فقد لا يكون لدى كيان الخدمة أو الهوية المُدارة التي تستخدمها الإذن الكافي للوصول إلى Azure Data Lake Storage Gen2. لاستكشاف هذا الخطأ وإصلاحه، راجع نسخ البيانات ونقلها في Azure Data Lake Storage Gen2.
    إذا كانت رسالة الخطأ تحتوي على السلسلة "InternalServerError"، يتم إرجاع الخطأ بواسطة Azure Data Lake Storage Gen2. قد يكون الخطأ ناتجاً عن فشل مؤقت. الرجاء إعادة محاولة تنفيذ العملية. إذا استمرت المشكلة، فاتصل بدعم Azure Storage، واكتب معرّف الطلب الوارد في رسالة الخطأ.
    إذا كانت رسالة الخطأ هي Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host، فإن وقت تشغيل التكامل الخاص بك به مشكلة في الشبكة في الاتصال بـ Azure Data Lake Storage Gen2. في إعداد قاعدة جدار الحماية Azure Data Lake Storage Gen2، تأكد من وجود عناوين IP لمصنع بيانات Azure في القائمة المسموح بها. لمزيد من المعلومات، انظر تكوين جدار حماية التخزين والشبكات الظاهرية في Azure
    إذا كانت رسالة الخطأ هي This endpoint does not support BlobStorageEvents or SoftDelete، فأنت تستخدم خدمة مرتبطة Azure Data Lake Storage Gen2 للاتصال بحساب Azure Blob Storage الذي يمكن أحداث تخزين Blob أو الحذف المبدئي. قم بتجربة الخيارات الآتية:
    1. إذا كنت لا تزال ترغب في استخدام خدمة Azure Data Lake Storage Gen2 المرتبطة، فقم بترقية تخزين Azure Blob إلى Azure Data Lake Storage Gen2. لمزيد من المعلومات، راجع ترقية تخزين Azure Blob باستخدام إمكانات Azure Data Lake Storage Gen2.
    2. قم بتبديل الخدمة المرتبطة إلى Azure Blob Storage.
    3. تعطيل أحداث تخزين Blob أو الحذف المبدئي في حساب Azure Blob Storage.

تسبب طلب حساب Azure Data Lake Storage Gen2 في خطأ مهلة

  • رسالة:

    • رمز الخطأ = UserErrorFailedBlobFSOperation
    • رسالة الخطأ = BlobFS operation failed for: A task was canceled.
  • السبب: سبب المشكلة هو خطأ مهلة متلقي Azure Data Lake Storage Gen2، والذي يحدث عادةً على جهاز وقت تشغيل التكامل (IR) المستضاف ذاتياً.

  • التوصية:

    • ضع جهاز وقت تشغيل التكامل (IR) المستضاف ذاتياً وحساب Azure Data Lake Storage Gen2 الهدف في نفس المنطقة، إن أمكن. يمكن أن يساعد هذا في تجنب خطأ المهلة العشوائية وتحقيق أداء أفضل.

    • تحقق مما إذا كان هناك إعداد خاص للشبكة، مثل ExpressRoute، وتأكد من أن الشبكة بها نطاق ترددي كافٍ. نقترح عليك خفض إعداد الوظائف المتزامنة لجهاز وقت تشغيل التكامل (IR) المستضاف ذاتياً عندما يكون النطاق الترددي الإجمالي منخفضاً. يمكن أن يساعد القيام بذلك في تجنب التنافس على موارد الشبكة عبر العديد من المهام المتزامنة.

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

      لتحديد حجم الكتلة المخصصة، قم بتحرير الخاصية في محرر ملفات JSON كما هو موضح هنا:

      "sink": {
          "type": "DelimitedTextSink",
          "storeSettings": {
              "type": "AzureBlobFSWriteSettings",
              "blockSizeInMB": 8
          }
      }
      

نشاط النسخ غير قادر على اختيار الملفات من Azure Data Lake Storage Gen2

  • الأعراض: يتعذر على نشاط النسخ اختيار الملفات من Azure Data Lake Storage Gen2 عندما يكون اسم الملف "Asset_Metadata". تحدث المشكلة فقط في مجموعة البيانات من نوع Parquet. تعمل الأنواع الأخرى من مجموعات البيانات التي لها نفس اسم الملف بشكل صحيح.

  • السبب: بالنسبة لتوافق الإصدارات السابقة، يتم التعامل مع _metadata كسلسلة فرعية محجوزة في اسم الملف.

  • التوصية: قم بتغيير اسم الملف لتجنب القائمة المحجوزة لـ Parquet أدناه:

    1. يحتوي اسم الملف على _metadata.
    2. يبدأ اسم الملف بـ . (نقطة).

رمز الخطأ: ADLSGen2ForbiddenError

  • الرسالة: ADLS Gen2 failed for forbidden: Storage operation % on % get failed with 'Operation returned an invalid status code 'Forbidden'.

  • السبب: هناك سببان محتملان:

    1. يتم حظر وقت تشغيل التكامل عن طريق الوصول إلى الشبكة في إعدادات جدار حماية حساب تخزين Azure.
    2. لا يملك كيان الخدمة أو الهوية المدارة إذنا كافيا للوصول إلى البيانات.
  • التوصية:

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

    2. إذا قمت بتمكين الشبكات الظاهرية المحددة وعناوين IP في إعداد شبكة حساب تخزين Azure:

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

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

      لمزيد من المعلومات حول إعدادات جدران حماية حساب تخزين Azure، راجع تكوين جدران حماية Azure Storage والشبكات الظاهرية.

    3. إذا كنت تستخدم كيان الخدمة أو مصادقة الهوية المدارة، فامنح كيان الخدمة أو الهوية المدارة الأذونات المناسبة للقيام بالنسخ. بالنسبة للمصدر، على الأقل دور Storage Blob Data Reader . بالنسبة للمتلقي، على الأقل دور Storage Blob Data Contributor . لمزيد من المعلومات، راجع نسخ البيانات وتحويلها في Azure Data Lake Storage Gen2.

لمزيد من تعليمات استكشاف الأخطاء وإصلاحها، جرب هذه الموارد: