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

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

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. افحص جميع سياسات LookupCache في خادم وكيل واجهة برمجة التطبيقات المحدّد الذي حدث فيه الخطأ. يمكن أن تكون هناك سياسة واحدة أو أكثر من سياسات LookupCache التي تم تحديد العنصر <CacheLookupTimeoutInSeconds> فيها. حدِّد سياسة LookUpCache التي تم فيها تحديد القيمة غير الصالحة (المحدّدة في الخطوة 1 أعلاه) للعنصر <CacheLookupTimeoutInSeconds>.

    على سبيل المثال، يحدّد إعداد السياسة التالي قيمة <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> في سياسة LookupCache يتم تحديدها دائمًا كعدد صحيح غير سالب.

لتصحيح مثال سياسة LookupCache الموضّح أعلاه، يمكنك تعديل العنصر <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. افحص جميع سياسات LookupCache في خادم وكيل واجهة برمجة التطبيقات المحدّد الذي حدث فيه الخطأ. حدِّد سياسة LookupCache المحدّدة التي تم فيها تحديد ذاكرة التخزين المؤقت غير الصالحة (المحدّدة في الخطوة 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) > البيئة (Environment) > الاختبار (test) وتحقّق مما إذا كان هناك ذاكرة تخزين مؤقت في علامة التبويب ذاكرات التخزين المؤقت (Caches) ضمن إعدادات البيئة (Environment Configuration). إذا لم تكن ذاكرة التخزين المؤقت متوفّرة، سيكون هذا هو سبب الخطأ.

    على سبيل المثال، لاحظ في لقطة الشاشة أدناه أنّ ذاكرة التخزين المؤقت المسماة 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 للحصول على المساعدة.