أساليب نقل البيانات من Apigee Edge إلى Apigee X

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

بصفتك عميلًا حاليًا في Apigee Edge، يمكنك اختيار نقل عملية التثبيت إلى Apigee X، للاستفادة من الإمكانات الجديدة أو مدى التوفّر الإقليمي المختلف.

توضّح هذه الصفحة الأنماط المضادة في الإعدادات التي عليك معالجتها قبل نقل البيانات إلى Apigee X، بالإضافة إلى التغييرات الأخرى في السلوك التي يجب أن تكون على دراية بها قبل نقل البيانات.

توضِّح القائمة الأوسع للنماذج المضادة لخدمة Apigee Edge ممارسات الاستخدام التي يجب تجنُّبها في أي حال. توضّح هذه الصفحة ممارسات الاستخدام المحدّدة غير المُقترَحة والتي ستؤدي إلى حظر عملية نقل البيانات. عليك حلّ هذه المشاكل الآن لتجنُّب حدوث مشاكل عند نقل البيانات إلى Apigee X.

التطبيقات التي لا تتضمّن منتجات واجهة برمجة التطبيقات

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

هناك تطبيقات لا تتضمّن منتجات متوافقة مع واجهة برمجة التطبيقات.

الفرق بين Apigee Edge وApigee X:

Apigee Edge Apigee X
من الممكن ضبط تطبيق وبيانات اعتماد غير مرتبطة بأي منتج من منتجات واجهة برمجة التطبيقات. يمكن لهذا التطبيق الوصول بفعالية إلى جميع منتجات واجهة برمجة التطبيقات. يجب ضبط كل تطبيق للوصول إلى منتج واحد على الأقل من منتجات واجهات برمجة التطبيقات. لا تتوفّر طريقة لمنح إذن الوصول إلى جميع منتجات واجهة برمجة التطبيقات بشكل ضمني. يمكنك ضبط تطبيق للوصول إلى جميع منتجات واجهة برمجة التطبيقات، ولكن عليك إجراء ذلك بشكل صريح.
لا.

الحلّ: التطبيقات التي لا تتضمّن منتجات واجهة برمجة التطبيقات

اربط كل بيانات اعتماد للتطبيق بمنتج واحد على الأقل من واجهات برمجة التطبيقات. لمزيد من المعلومات حول كيفية إجراء ذلك، يُرجى الاطّلاع على تسجيل التطبيقات وإدارة مفاتيح واجهة برمجة التطبيقات.

من الطرق السهلة منح كل تطبيق إذن الوصول إلى جميع منتجات واجهة برمجة التطبيقات. سيكون هذا الإجراء مماثلاً لما هو ممكن في Apigee Edge. سيكون التحدي هو إذا أردت اتّباع نهج "أقل امتياز"، عليك تحديد الحد الأدنى لقائمة منتجات واجهة برمجة التطبيقات التي يجب أن تحصل عليها بيانات اعتماد كل تطبيق. يمكنك تحليل ذلك باستخدام تقارير Apigee Edge Analytics، استنادًا إلى رقم تعريف العميل.

ذاكرة التخزين المؤقت بدون وقت انتهاء صلاحية

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

لا تتضمّن ذاكرات التخزين المؤقت وقت انتهاء صلاحية.

الفرق بين Apigee Edge وApigee X:

Apigee Edge Apigee X
يتيح إنشاء أو تعديل أو حذف وصف موارد ذاكرة التخزين المؤقت لا تتيح إنشاء أو تعديل أو حذف وصف موارد ذاكرة التخزين المؤقت
لا

الحلّ: ذاكرة التخزين المؤقت بدون وقت انتهاء صلاحية

اضبط وقت انتهاء صلاحية لجميع ذاكرات التخزين المؤقت.

تعبيرات فلترة JSONPath على المسارات غير المحدّدة

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

بالنسبة إلى المسارات غير المحدّدة، لا يشكّل طلب البحث عن نتيجة تعبيرات الفلتر جزءًا من مواصفات JSONPath. يُرجى الاطّلاع على https://goessner.net/articles/JsonPath/.

الفرق بين Apigee Edge وApigee X:

عند التنقّل في هذا المثال على البنية،

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

باستخدام التعبير $..books[?(@.name == 'A')][0]،

Apigee Edge Apigee X
النتائج ‘{"name": "A"}’ النتائج []

باستخدام التعبير $..books[?(@.name == 'A')][0].name،

Apigee Edge Apigee X
النتائج "A" النتائج []
نعم

الحلّ: تعبيرات فلترة JSONPath على المسارات غير المحدّدة

ابحث عن طلبات البحث المتأثرة واستبدِلها.

تعبيرات JSONPath للفهراسات غير المتوفّرة

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

تختلف سلوكيات عبارات JSONPath التي تحتوي على فهرس غير متوفّر في Apigee X عن سلوكيات عبارات JSONPath في Apigee Edge. تعرِض Apigee X خطأ PathNotFoundException عند عدم العثور على المسار.

الفرق بين Apigee Edge وApigee X:

عند التنقّل في هذا المثال على البنية،

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

باستخدام التعبير $.books[3]،

Apigee Edge Apigee X
النتائج null تظهر رسالة الخطأ PathNotFoundException
نعم

الحلّ: تعبيرات JSONPath للفهراسات غير المتوفّرة

ابحث عن طلبات البحث المتأثرة واستبدِلها.

تعبيرات JSONPath التي تحتوي على فهرس مصفوفة لا تعرض كائن مصفوفة

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

تعرِض تعبيرات JSONPath التي تحتوي على فهرس مصفوفة أو شرائح كائن مصفوفة في Apigee X.

الفرق بين Apigee Edge وApigee X:

عند التنقّل في هذا المثال على البنية،

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

باستخدام التعبير $.books،

Apigee Edge Apigee X
النتائج {“name”:”A”, “name”: “B”} النتائج [{“name”:”A”, “name”: “B”}]

باستخدام التعبير $.books[-1]،

Apigee Edge Apigee X
النتائج {“name”: “B”} النتائج [{“name”: “B”}]

باستخدام التعبير $.books[-2:]،

Apigee Edge Apigee X
النتائج {“name”:”A”, “name”: “B”} النتائج [{“name”:”A”, “name”: “B”}]
نعم

الحلّ: لا تعرض عبارات JSONPath التي تحتوي على فهرس مصفوفة كائن مصفوفة.

ابحث عن التعبيرات التي قد تعرِض نتائج مختلفة بعد الترقية واستبدِلها.

قيود اسم ملف تخزين المفاتيح

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

لا يمكن أن تحتوي أسماء ملف تخزين مفاتيح Apigee X إلا على أحرف وأرقام وواصلات. لا تفرض أسماء ملفات تخزين مفاتيح Edge هذه القيود.

لا

الحلّ: قيود اسم ملف تخزين المفاتيح

تحقّق من أسماء ملف تخزين المفاتيح وعدِّلها لإزالة الأحرف غير المتوافقة إذا كان ذلك ضروريًا.

مسارات أساسية متعددة تم نشرها لوكيل واجهة برمجة التطبيقات

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

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

الفرق بين Apigee Edge وApigee X:

Apigee Edge Apigee X
يتيح نشر نُسخ متعددة من وكيل واجهة برمجة التطبيقات حيث يمكن أن يكون لكل نُسخة مسار أساسي مختلف. لا تتيح نشر نُسخ متعددة من وكيل واجهة برمجة التطبيقات حتى إذا كان الوكيل يتضمّن مسارات أساسية مختلفة.
لا

الحلّ: تم نشر مسارات أساسية متعددة لوكيل واجهة برمجة التطبيقات

عدِّل جميع الحِزم لكي يتم نشر نسخة واحدة فقط من الحزمة في بيئة معيّنة، بغض النظر عن المسار الأساسي.

رسائل HTTP غير المتوافقة

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

يُرسِل العملاء أو وكيل واجهة برمجة التطبيقات رسائل (طلبات أو استجابات) لا تتوافق مع معيار HTTP. على سبيل المثال، أسماء رؤوس غير صالحة، تكرار في بعض الرؤوس المحظورة، وما إلى ذلك.

لا يمكنك نقل البيانات إلى Apigee X إذا كان تنفيذ واجهة برمجة التطبيقات يتضمّن واحدًا أو أكثر من الأخطاء التالية:

خطأ التفاصيل
INVALID_CHARACTERS_IN_HEADER تم العثور على حرف واحد أو أكثر غير مسموح به في العنوان المحدّد. تتكوّن أسماء العناوين الصالحة من أحرف إنجليزية وأرقام وواصلات.
MISSING_COLON لا يتضمّن اسم العنوان : (قوس) في زوج اسم العنوان وقيمته.
MULTIPLE_CONTENT_LENGTH تم تقديم قيم متعدّدة لعنوان Content-Length.
CONTENT_LENGTH_NOT_INTEGER قيمة الرأس Content-Length ليست عددًا صحيحًا.
INVALID_UPGRADE يجب استخدام عنوان Upgrade لتفعيل اتصالات WebSocket فقط، ولكنّه لا يتم استخدامه لهذا الغرض.
URL_HEADER_SIZE_TOO_LONG يتجاوز إجمالي حجم عنوان URL للطلب والعناوين الحد الأقصى المسموح به وهو 15 كيلوبايت.
BODY_NOT_ALLOWED لا يُسمح باستخدام نص الرسالة مع طُرق GET وDELETE وTRACE وOPTIONS وHEAD.
UNSUPPORTED_HTTP_VERSION يتم استخدام إصدار غير 1.1 من HTTP للطلب وهو غير متوافق.
ZERO_CONTENT_LENGTH_FOR_POST_OR_PUT تم ضبط قيمة صفر ("0") لحقل رأس Content-Length لطريقة "POST" أو "PUT".
UNSUPPORTED_RESPONSE_PREFIX تم العثور على بادئة عنوان غير متوافقة من النوع "X-Apigee-" في عنوان الاستجابة.
نعم، من المحتمل.

الحلّ: رسائل HTTP غير المتوافقة

يجب تصحيح أي أخطاء في بروتوكولات HTTP قبل نقل البيانات إلى Apigee X. إذا كان الخطأ ناتجًا عن تطبيق العميل، عليك أن تطلب من مطوّر تطبيق العميل تصحيح المشكلة.

وقت انتهاء صلاحية رمز OAuth 2.0 المميّز غير صالح

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

حدود انتهاء صلاحية الرموز المميّزة لبروتوكول OAuth 2.0 خارج النطاق المحدّد.

الفرق بين Apigee Edge وApigee X:

Apigee Edge Apigee X
لا يتم حاليًا فرض أي قيود على وقت انتهاء صلاحية رمز OAuth 2.0 المميّز، ولكن من المخطّط فرض هذه القيود. اطّلِع على الإرشادات في قسم OAuth من صفحة "الحدود". يجب ضبط وقت انتهاء صلاحية رمز الدخول المميّز ورمز إعادة التحميل لبروتوكول OAuth 2.0. النطاقات المتوافقة هي:
  • ‫180 ثانية <= وقت انتهاء صلاحية رمز الدخول عبر بروتوكول OAuth 2.0 <= 30 يومًا
  • ‫1 يوم <= وقت انتهاء صلاحية رمز إعادة التحميل في OAuth 2.0 <= عامان
لا

الحلّ: وقت انتهاء صلاحية رمز OAuth 2.0 المميّز غير صالح

استخدِم سياسة OAuthV2 وحدِّد وقت انتهاء الصلاحية في <ExpiresIn> و <RefreshTokenExpiresIn>.

تجاوز الحدود القصوى المسموح بها للمنتجات

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

إعدادات Apigee Edge غير متوافقة مع الحدود المسموح بها للمنتجات. يتم فرض بعض حدود المنتجات الموثَّقة ولكن لا يتم فرضها على Apigee Edge على Apigee X.

لا

الحلّ: تم تجاوز الحدود المسموح بها للمنتجات

صحِّح أي استخدام يتجاوز حدود المنتج قبل نقل البيانات إلى Apigee X.

سياسات ServiceCallout التي تتضمّن محددات اتصال لكلّ من نقطة النهاية ومسار الهدف

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

في سياسة ServiceCallout، يجب أن يتضمّن عنصر <LocalTargetConnection> إمّا العنصرَين <APIProxy> و<ProxyEndpoint> أو العنصر <Path> ، ولكن ليس كليهما. لمزيد من المعلومات، اطّلِع على عنصر <LocalTargetConnection>.

توثّق Apigee Edge هذا الشرط، ولكنها لا تفرضه. يتوقف Apigee X عن المعالجة إذا صادف <LocalTargetConnection> يتضمّن كلاً من الإعدادَين.

لا

الحلّ: سياسات ServiceCallout التي تتضمّن محددات اتصال استهداف نقطة النهاية والمسار

تحقَّق من إعدادات سياسة ServiceCallout وأزِل أي إعدادات <LocalTargetConnection> غير متوافقة.

القيود المفروضة على اسم الخادم المستهدَف

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

لا يمكن أن تحتوي أسماء الخوادم المستهدَفة في Apigee X إلا على أحرف وأرقام وواصلات ونقاط. لا تفرض أسماء الخوادم المستهدَفة في Edge هذه القيود.

لا

الحلّ: قيود اسم الخادم المستهدَف

تحقَّق من أسماء الخوادم المستهدَفة وعدِّلها لإزالة الأحرف غير المتوافقة إذا كان ذلك ضروريًا.

شهادة تجريبية في مضيف افتراضي

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

يستخدم مضيف افتراضي واحد أو أكثر شهادة "الفترة التجريبية المجانية" التي تقدّمها Apigee. يؤدي ذلك إلى استجابة المضيف الافتراضي للطلبات على نطاقات مثل ORG-ENV.apigee.net.

الفرق بين Apigee Edge وApigee X:

Apigee Edge Apigee X
يتم ضبط مضيف الويب التلقائي "default" تلقائيًا للسماح باسم نطاق بالتنسيق ORG-ENV.apigee.net. هناك شهادة wildcard ، تُعرف باسم "شهادة الفترة التجريبية المجانية"، تسمح باستخدام بروتوكول أمان طبقة النقل (TLS) في هذه النطاقات. لا تتوفر نطاقات Apigee القديمة من النوع ORG-ENV.apigee.net في Apigee X. عليك ضبط اسم نطاقك وتوفير الشهادات بشكلٍ مناسب.
نعم

الحلّ: شهادة تجريبية في مضيف افتراضي

يجب ضبط نطاقك وتوفير الشهادات بشكلٍ مناسب.

يجب تعديل أي تطبيق عميل يعتمد على اسم النطاق القديم لملف ORG-ENV.apigee.net لطلب النطاق الجديد.

نظام أسماء النطاقات لم يتم حلّه

ملخّص هل تتطلّب التغييرات إجراء تغييرات من جهة العميل؟ الحلّ

تحتوي نقاط النهاية المستهدَفة على أسماء نطاقات لم يتم حلّها.

الفرق بين Apigee Edge وApigee X:

Apigee Edge Apigee X
إذا تعذّر تحليل نظام أسماء النطاقات، تُضيف Apigee .apigee.com إلى اسم النطاق ويتم تحليل نظام أسماء النطاقات بنجاح باستخدام رمز استجابة 4xx. إذا تعذّر حلّ نظام أسماء النطاقات، لا تنفِّذ Apigee الطلب وتُرجِع رمز استجابة 5xx.
لا

الحلّ: نظام أسماء النطاقات غير المحدَّد

عدِّل نقطة النهاية المستهدَفة باستخدام اسم نطاق صالح.