شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
InvalidCacheResourceReference
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
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:[apiproxy_name];Organization:[organization];Environment:[environment]
نمونه پیام خطا
Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
نمونه خطا از صفحه نمایش
علت
اگر عنصر <CacheResource>
در خط مشی PopulateCache روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر می شود وجود نداشته باشد، این خطا رخ می دهد.
تشخیص
نام خط مشی PopulateCache، حافظه نهان نامعتبر مورد استفاده در عنصر
<CacheResource>
خط مشی و محیطی که در آن خطا رخ داده است را شناسایی کنید. شما می توانید تمام این موارد را در پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام سیاست PopulateCachePopulateCache-Token
، نام حافظه پنهان نامعتبرtokencache
و نام محیطtest
است.Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
خط مشی PopulateCache XML ناموفق را بررسی کنید و بررسی کنید که آیا نام حافظه پنهان تعیین شده برای عنصر
<CacheResource>
با پیام خطا مطابقت دارد یا خیر.در این مثال، نام کش مشخص شده در عنصر
<CacheResource>
tokencache
است:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <PopulateCache async="false" continueOnError="false" enabled="true" name="PopulateCache-Token"> <DisplayName>PopulateCache-Token</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.queryparam.client_id"/> </CacheKey> <CacheResource>tokencache</CacheResource> <Scope>Exclusive</Scope> <ExpirySettings> <TimeoutInSec>3600</TimeoutInSec> </ExpirySettings> <Source>token</Source> </PopulateCache>
بررسی کنید که آیا کش (تعیین شده در مرحله شماره 1) در محیط خاصی تعریف شده است (در مرحله شماره 1 مشخص شده است).
در Edge UI، به ADMIN > Environment > test بروید و بررسی کنید که آیا حافظه پنهان در برگه Caches پیکربندی محیط وجود دارد یا خیر. اگر حافظه پنهان وجود نداشته باشد، دلیل این خطا است.
به عنوان مثال، در تصویر زیر توجه کنید که حافظه پنهان با نام
tokencache
وجود ندارد.از آنجایی که کش با نام
tokencache
در محیطtest
تعریف نشده است، با این خطا مواجه می شوید:Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
قطعنامه
اطمینان حاصل کنید که کش مشخص شده در عنصر <CacheResource>
خط مشی PopulateCache در محیطی که می خواهید پراکسی API را در آن مستقر کنید ایجاد شده باشد.
برای اطلاعات در مورد نحوه ایجاد کش به ایجاد و ویرایش کش محیطی مراجعه کنید.
CacheNotFound
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API منجر به پیام خطایی مانند این می شود و وضعیت استقرار API Proxy به عنوان نیمه مستقر شده علامت گذاری می شود:
Error: Cache : cache_resource, not found in organization : organization__environment.
نمونه پیام خطا
Error Cache : configCache, not found in organization : kkalckstein-eval__test
علت
این خطا در صورتی رخ می دهد که حافظه پنهان ذکر شده در پیام خطا روی یک جزء خاص Message Processor ایجاد نشده باشد. یک پردازشگر پیام یک جزء داخلی Edge است که جریان ترافیک API را از طریق Apigee Edge پردازش می کند.
قطعنامه
اگر کاربر Private Cloud هستید، لطفاً دستورالعملهای زیر را دنبال کنید:
استقرار پروکسی API را فهرست کنید و تعیین کنید کدام پردازشگر پیام دارای خطای
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" ...
به UUID(های) پردازشگر پیام توجه کنید که در آن خطای
steps.cache.CacheNotFound
را مشاهده می کنید. نام میزبان/آدرس IP پردازشگر پیام مربوط به UUID را شناسایی کنید.وارد Message Processor خاص شده و با استفاده از دستور زیر آن را مجددا راه اندازی کنید:
apigee-service edge-message-processor restart
اگر کاربر Public Cloud هستید یا اگر مشکل برای Private Cloud همچنان ادامه دارد، برای دریافت کمک با پشتیبانی Apigee تماس بگیرید.