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

يتم الآن عرض مستندات 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> في السياسة invalidateCache على اسم غير متوفر في البيئة التي يتم فيها تفعيل الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدِّد اسم سياسة InvalidateCache وذاكرة التخزين المؤقت غير الصالحة المستخدَمة في العنصر <CacheResource> لسياسة SpamateCache والبيئة التي حدث فيها الخطأ. يمكنك العثور على جميع هذه العناصر في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم سياسة ProtectedateCache هو 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 الخاص بسياسة SpamateCache الذي تعذّر تحميله وتحقَّق من تطابق اسم ذاكرة التخزين المؤقت المحدّد للعنصر <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، انتقل إلى المشرف > البيئة > اختبار وتحقق من وجود ذاكرة التخزين المؤقت في علامة التبويب ذاكرات التخزين المؤقت في تهيئة البيئة. إذا لم تكن ذاكرة التخزين المؤقت موجودة، يكون هذا هو سبب الخطأ.

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

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

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

درجة الدقّة

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

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

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

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