Mengisi pemecahan masalah error deployment kebijakan Cache

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

ini.

InvalidCacheResourceReference

Pesan Error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:

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]

Contoh Pesan Error

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

Contoh Screenshot Error

Penyebab

Error ini terjadi jika elemen <CacheResource> dalam kebijakan filledCache ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.

Diagnosis

  1. Identifikasi nama kebijakan fillCache, cache tidak valid yang digunakan dalam elemen <CacheResource> kebijakan, dan lingkungan tempat error terjadi. Anda dapat menemukan semua item ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakan Mengisi Cache adalah PopulateCache-Token, nama cache yang tidak valid adalah tokencache, dan nama lingkungannya adalah test.

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. Periksa XML kebijakan CompleteCache yang gagal dan verifikasi apakah nama cache yang ditentukan untuk elemen <CacheResource> cocok dengan pesan error.

    Dalam contoh ini, nama cache yang ditentukan dalam elemen <CacheResource> adalah 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>
    
  3. Verifikasi apakah cache (ditentukan pada langkah #1) telah ditentukan dalam lingkungan tertentu (diidentifikasi pada langkah #1).

    Pada UI Edge, navigasikan ke ADMIN > Lingkungan > uji dan periksa apakah cache ada di tab Caches di Environment Configuration. Jika cache tidak ada, maka itulah penyebab error.

    Misalnya, perhatikan dalam screenshot di bawah bahwa cache dengan nama tokencache tidak ada.

    Karena cache bernama tokencache tidak ditentukan di lingkungan test, Anda mendapatkan error:

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

Resolusi

Pastikan cache yang ditentukan dalam elemen <CacheResource> kebijakan fillCache telah dibuat di lingkungan tempat Anda ingin men-deploy proxy API.

Lihat Membuat dan mengedit cache lingkungan untuk informasi tentang cara membuat cache.

CacheNotFound

Pesan Error

Deployment proxy API melalui Edge UI atau Edge management API menghasilkan pesan error seperti ini, dan status deployment Proxy API ditandai sebagai di-deploy sebagian:

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

Contoh Pesan Error

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

Penyebab

Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error belum dibuat pada komponen Pemroses Pesan tertentu. Pemroses Pesan adalah komponen Edge internal yang memproses aliran traffic API melalui Apigee Edge.

Resolusi

Jika Anda adalah pengguna Private Cloud, ikuti petunjuk di bawah ini:

  1. Buat daftar deployment proxy API dan tentukan Pemroses Pesan yang memiliki error steps.cache.CacheNotFound.

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

    Contoh Output

      {
        "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. Perhatikan UUID Pemroses Pesan tempat Anda mengamati error steps.cache.CacheNotFound. Identifikasi nama host/alamat IP Pemroses Pesan yang sesuai dengan UUID.

  3. Login ke Pemroses Pesan tertentu, lalu mulai ulang menggunakan perintah berikut:

    apigee-service edge-message-processor restart

Jika Anda adalah pengguna Public Cloud atau jika masalah terus berlanjut untuk Private Cloud, hubungi Dukungan Apigee untuk mendapatkan bantuan.