تحديد المشاكل وحلّها في ما يتعلّق بنشر سياسة "ذاكرة التخزين المؤقت"

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

InvalidTimeout

رسالة الخطأ

تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع رسالة الخطأ التالية:

Error Saving Revision revision_number
CacheLookupTimeoutInSeconds value value should be greater than zero.

مثال على رسالة الخطأ

Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.

مثال على لقطة شاشة للخطأ

السبب

إذا تم ضبط العنصر <CacheLookupTimeoutInSeconds> في سياسة Lookupcache على رقم سالب، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

على سبيل المثال، إذا كان العنصر <CacheLookupTimeoutInSeconds> هو -1، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدِّد القيمة غير الصالحة المحدّدة للعنصر <CacheLookupTimeoutInSeconds> في سياسة Lookupcache. يمكنك العثور على هذه المعلومات في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، القيمة غير الصالحة المستخدَمة للعنصر <CacheLookupTimeoutInSeconds> هي -1:

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. افحص جميع سياسات WebGLcache في خادم وكيل واجهة برمجة التطبيقات المحدد حيث حدث العطل. قد تكون هناك سياسة واحدة أو أكثر من سياسات reCAPTCHAcache يتم فيها تحديد العنصر <CacheLookupTimeoutInSeconds>. حدِّد سياسة LookUpcache التي يتم فيها تحديد قيمة غير صالحة للعنصر <CacheLookupTimeoutInSeconds> (تم تحديدها في الخطوة رقم 1 أعلاه).

    على سبيل المثال، تحدّد إعدادات السياسة التالية قيمة <CacheLookupTimeoutInSeconds> لـ -1 التي تتطابق مع رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
        <DisplayName>LookupCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <AssignTo>usertoken</AssignTo>
    </LookupCache>
    
  3. وإذا تم تحديد <CacheLookupTimeoutInSeconds> كعدد صحيح سالب، يكون هذا هو سبب الخطأ.

الدقة

يمكنك التأكُّد من تحديد قيمة العنصر <CacheLookupTimeoutInSeconds> في السياسة Inspectioncache دائمًا كعدد صحيح غير سالب.

لتصحيح مثال سياسة Verifycache الموضّحة أعلاه، يمكنك تعديل العنصر <CacheLookupTimeoutInSeconds> إلى 30.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
    <DisplayName>LookupCache-Token</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref="request.queryparam.client_id"/>
    </CacheKey>
    <CacheResource>tokencache</CacheResource>
    <CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <TimeoutInSec>3600</TimeoutInSec>
    </ExpirySettings>
    <AssignTo>usertoken</AssignTo>
</LookupCache>

InvalidCacheResourceReference

رسالة الخطأ

تعذَّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع رسالة الخطأ التالية:

Error Deploying Revision revision_number to environment
Invalid cache resource reference [cache_resource] in Step definition [populate_cache_policy_name]. Context Revision:[revision_number];APIProxy:ResponseCache;Organization:[organization];Environment:[environment]

مثال على رسالة الخطأ

Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test

مثال على لقطة شاشة للخطأ

السبب

يحدث هذا الخطأ إذا تم ضبط العنصر <CacheResource> على اسم غير متوفّر في البيئة التي يتم فيها تفعيل الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدِّد ذاكرة التخزين المؤقت غير الصالحة والمستخدَمة في العنصر <CacheResource> ضمن سياسة Lookupcache والبيئة التي حدث فيها الخطأ. يمكنك العثور على كلا العنصرَين في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم ذاكرة التخزين المؤقت غير الصالحة tokencache واسم البيئة هو test.

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. افحص جميع سياسات WebGLcache في خادم وكيل واجهة برمجة التطبيقات المحدد حيث حدث العطل. يمكنك تحديد سياسة Checkcache تحديدًا التي يتم فيها تحديد ذاكرة التخزين المؤقت غير الصالحة (التي تم تحديدها في الخطوة رقم 1) في العنصر <CacheResource>.

    على سبيل المثال، تحدّد السياسة التالية قيمة <CacheResource> على أنّها tokencache، والتي تتطابق مع رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
        <DisplayName>LookupCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <CacheLookupTimeoutInSeconds/>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <AssignTo>usertoken</AssignTo>
    </LookupCache>
    
  3. تحقق مما إذا كان قد تم تحديد ذاكرة التخزين المؤقت (تم تحديدها في الخطوة رقم 1) في البيئة المحددة (التي تم تحديدها في الخطوة رقم 1).

    في واجهة مستخدم Edge، انتقل إلى ADMIN > البيئة > اختبار والتحقق من وجود ذاكرة التخزين المؤقت في علامة التبويب ذاكرات التخزين المؤقت في إعداد البيئة. إذا لم تكن ذاكرة التخزين المؤقت موجودة، فهذا هو سبب الخطأ.

    على سبيل المثال، لاحظ في لقطة الشاشة أدناه أنّ ذاكرة التخزين المؤقت التي تحمل الاسم "tokencache" غير متوفّرة.

    بسبب عدم تحديد ذاكرة التخزين المؤقت المُسمّاة "tokencache" في بيئة test، سيظهر لك الخطأ:

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
    

الدقة

تأكَّد من إنشاء اسم ذاكرة التخزين المؤقت المحدّد في العنصر <CacheResource> في البيئة التي تريد نشر الخادم الوكيل لواجهة برمجة التطبيقات فيها.

راجع إنشاء ذاكرة تخزين مؤقت للبيئة وتعديلها للحصول على معلومات حول كيفية إنشاء ذاكرة التخزين المؤقت.

CacheNotFound

رسالة الخطأ

يؤدي نشر خادم وكيل واجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge إلى ظهور رسالة خطأ مثل هذه، ويتم وضع علامة على حالة نشر خادم وكيل واجهة برمجة التطبيقات بأنّه تم نشره جزئيًا:

Error: Cache : cache_resource, not found in organization : organization__environment.

مثال على رسالة الخطأ

Error Cache : configCache, not found in organization : kkalckstein-eval__test

السبب

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

الدقة

إذا كنت من مستخدمي السحابة الإلكترونية الخاصة، يُرجى اتّباع التعليمات التالية:

  1. يمكنك سرد عمليات نشر الخادم الوكيل لواجهة برمجة التطبيقات وتحديد معالجات الرسائل التي تعرض الخطأ steps.cache.CacheNotFound.

    curl -u $USERID:$USERPASSWORD http://:8080/v1/organizations//environments//apis//revisions//deployments

    نموذج للمخرجات

    {
      "aPIProxy" : "TestCache",
      "environment" : [ {
        "configuration" : {
          "basePath" : "/",
          "configVersion" : "SHA-512:45d3f39783414d3859bf2dec4135d8f5f9960ee6b2d361db2799c82693a8e3f8b95dbbb37c547eb3c0a3819d8ca51727f390502bcaefdf1f113263521a9023b6",
          "steps" : [ ]
        },
        "name" : "prod",
        "server" : [ {
          "pod" : {
            "name" : "pod1",
            "region" : "us-central1"
          },
          "status" : "deployed",
          "type" : [ "message-processor" ],
          "uUID" : "f2e5e34a-5630-43a9-8fef-48a5b9da76d1"
        }, {
          "pod" : {
            "name" : "pod1",
            "region" : "us-central1"
          },
          "status" : "deployed",
          "type" : [ "message-processor" ],
          "uUID" : "879a6538-a5e0-4503-b142-9cb2b4e0623d"
        }, {
        "error" : "Cache : configCache, not found in organization : kkalckstein-eval__test",
        "errorCode" : "steps.cache.CacheNotFound",
        "status" : "error",
        "type" : [ "message-processor" ],
         "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d"
    },
    ...
        "state" : "deployed"
      } ],
      "name" : "2",
      "organization" : "kkalckstein-eval"
      ...
    
  2. يُرجى ملاحظة المعرّف الفريد العالمي(UUID) لمعالج الرسائل الذي ظهر فيه الخطأ steps.cache.CacheNotFound. حدِّد اسم المضيف/عنوان IP لمعالج الرسائل المرتبط بالمعرّف الفريد العالمي (UUID).

  3. قم بتسجيل الدخول إلى معالج الرسائل المحدد وإعادة تشغيله باستخدام الأمر التالي:

    apigee-service edge-message-processor restart

في حال كنت من مستخدمي السحابة الإلكترونية العامة أو إذا استمرت المشكلة بشأن السحابة الإلكترونية الخاصة، يُرجى التواصل مع فريق دعم Apigee للحصول على مساعدة.