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

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

InvalidCacheResourceReference

رسالة الخطأ

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

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

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

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

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

السبب

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

التشخيص

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

    Invalid cache resource reference tokencache in Step definition InvalidateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. افحص ملف XML الخاص بسياسة validatecache الذي تعذّر تنفيذه وتحقَّق من تطابق اسم ذاكرة التخزين المؤقت المحدّد للعنصر <CacheResource> مع رسالة الخطأ.

    في هذا المثال، يكون اسم ذاكرة التخزين المؤقت المحدّد في العنصر <CacheResource> هو tokencache:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <InvalidateCache async="false" continueOnError="false" enabled="true" name="InvalidateCache-Token">
        <DisplayName>InvalidateCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref=""/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <Scope>Exclusive</Scope>
        <CacheContext>
            <APIProxyName/>
            <ProxyName>default</ProxyName>
            <TargetName>default</TargetName>
        </CacheContext>
        <PurgeChildEntries>false</PurgeChildEntries>
    </InvalidateCache>
    
  3. تحقق مما إذا كان قد تم تحديد ذاكرة التخزين المؤقت (تم تحديدها في الخطوة رقم 1) في البيئة المحددة (التي تم تحديدها في الخطوة رقم 1).

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

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

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

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

الدقة

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

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

CacheNotFound

رسالة الخطأ

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

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

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

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

السبب

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

الدقة

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

  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 للحصول على مساعدة.