Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
InvalidTimeout
Thông báo Lỗi
Thông báo lỗi sau không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Ví dụ về thông báo lỗi
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Nếu bạn đặt phần tử <CacheLookupTimeoutInSeconds>
của chính sáchResponseCache thành một số âm, thì việc triển khai proxy API sẽ không thành công.
Ví dụ: nếu <CacheLookupTimeoutInSeconds>
là -1
, thì việc triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định giá trị không hợp lệ dùng cho phần tử
<CacheLookupTimeoutInSeconds>
trong chính sách ResponseCache. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, giá trị không hợp lệ dùng cho phần tử<CacheLookupTimeoutInSeconds>
là-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Kiểm tra tất cả các chính sách ResponseCache trong Proxy API cụ thể đang xảy ra lỗi. Có thể có một hoặc nhiều chính sách ResponseCache được chỉ định trong đó phần tử
<CacheLookupTimeoutInSeconds>
.Ví dụ: cấu hình chính sách sau đây đặt
<CacheLookupTimeoutInSeconds>
thành-1
, khớp với nội dung trong thông báo lỗi:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache-1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds> </ResponseCache>
Nếu
<CacheLookupTimeoutInSeconds>
được chỉ định là số nguyên âm, thì đó là nguyên nhân gây ra lỗi.
Độ phân giải
Đảm bảo giá trị cho phần tử <CacheLookupTimeoutInSeconds>
của chính sách ResponseCache luôn được chỉ định là số nguyên không âm.
Để sửa chính sách ResponseCache mẫu nêu trên, bạn có thể sửa đổi <CacheLookupTimeoutInSeconds> element
thành 30
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
<DisplayName>Response Cache-1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.uri" type="string"/>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">3600</TimeoutInSec>
</ExpirySettings>
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
</ResponseCache>
InvalidCacheResourceReference
Thông báo Lỗi
Thông báo lỗi sau không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge:
Error Deploying Revision revision_number to environment Invalid cache resource reference cache_resource in Step definition response_cache_policy_name. Context Revision:revision_number;APIProxy:ResponseCache;Organization:organization;Environment:environment
Ví dụ về thông báo lỗi
Error Deploying Revision 2 to prod
Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu phần tử <CacheResource>
trong chính sáchResponseCache được đặt thành tên không tồn tại trong môi trường triển khai proxy API.
Chẩn đoán
Xác định bộ nhớ đệm không hợp lệ dùng trong phần tử
<CacheResource>
của chính sách Bộ nhớ đệm phản hồi và môi trường xảy ra lỗi. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên của bộ nhớ đệm không hợp lệ làitemscache
và tên môi trường làprod
.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Kiểm tra tất cả các chính sách ResponseCache trong Proxy API cụ thể có lỗi đã xảy ra. Xác định chính sách Bộ nhớ đệm phản hồi cụ thể có bộ nhớ đệm không hợp lệ (được xác định ở bước #1) được chỉ định trong phần tử
<CacheResource>
.Ví dụ: chính sách sau đây chỉ định giá trị của
<CacheResource>
thànhitemscache
khớp với nội dung trong thông báo lỗi:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="ItemsResponseCache"> <DisplayName>ItemsResponseCache</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <CacheResource>itemscache</CacheResource> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <SkipCacheLookup/> <SkipCachePopulation/> </ResponseCache>
Xác minh xem bộ nhớ đệm (được xác định ở bước #2) đã được định nghĩa trong môi trường cụ thể hay chưa (được xác định ở bước #1).
Trong giao diện người dùng Edge, hãy chuyển đến API > Cấu hình môi trường và kiểm tra xem bộ nhớ đệm có tồn tại trong tab Caches trong môi trường cụ thể hay không. Nếu bộ nhớ đệm không tồn tại, thì đó là nguyên nhân gây ra lỗi.
Ví dụ: thông báo trong ảnh chụp màn hình bên dưới rằng bộ nhớ đệm có tên
itemscache
không tồn tại.Vì bộ nhớ đệm có tên
itemscache
không được xác định trong môi trườngprod
nên bạn sẽ gặp lỗi:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Độ phân giải
Đảm bảo rằng tên bộ nhớ đệm được chỉ định trong phần tử <CacheResource>
đã được tạo trong môi trường mà bạn muốn triển khai proxy API.
Hãy tham khảo bài viết Tạo và chỉnh sửa bộ nhớ đệm môi trường để biết thông tin về cách tạo bộ nhớ đệm.
ResponseCacheStepAttachmentNotAllowedReq
Thông báo Lỗi
Thông báo lỗi sau không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge:
Error Deploying Revision revision_number to environment Response cache step definition response_cache_policy_name can not be attached more than once in the request path.
Ví dụ về thông báo lỗi
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu bạn đính kèm cùng một chính sáchResponseCache vào nhiều đường dẫn yêu cầu trong mọi luồng của proxy API.
Ví dụ: nếu bạn đính kèm cùng một chính sách Bộ nhớ đệm phản hồi trong Luồng trước yêu cầu của cả Điểm cuối proxy và Điểm cuối mục tiêu, thì lỗi này sẽ xảy ra.
Chẩn đoán
Xác định tên của chính sách ResponseCache được đính kèm nhiều lần. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên của chính sách ResponseCache là Response-Cache‐1.
Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Kiểm tra tất cả các luồng yêu cầu trong Proxy và Điểm cuối mục tiêu của Proxy API xảy ra lỗi. Nếu cùng một chính sách ResponseCache được đính kèm trong 2 hoặc nhiều luồng yêu cầu, thì đó là nguyên nhân gây ra lỗi.
Trong ví dụ sau, chính sách ResponseCache (Bộ nhớ đệm phản hồi) tương tự
Response-Cache-1
được định cấu hình trong đường dẫn yêu cầu của điểm cuối proxy mặc định PreFlow và điểm cuối mục tiêu mặc định PreFlow:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TargetEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> ...
Độ phân giải
Đảm bảo chỉ đính kèm chính sách ResponseCache vào một đường dẫn yêu cầu trên tất cả các luồng của Proxy API.
Để sửa ví dụ nêu trên, hãy xoá chính sách ResponseCache (Bộ nhớ đệm phản hồi) Response-Cache-1
khỏi một trong hai luồng yêu cầu.
ResponseCacheStepAttachmentNotAllowedResp
Thông báo Lỗi
Thông báo lỗi sau không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge:
Error Deploying Revision revision_number to environment Response cache step definition response_cache_policy_name can not be attached more than once in the response path.
Ví dụ về thông báo lỗi
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu bạn đính kèm cùng một chính sáchResponseCache với nhiều đường dẫn phản hồi trong mọi luồng của một proxy API.
Ví dụ: nếu bạn đính kèm cùng một chính sách Bộ nhớ đệm phản hồi trong Luồng trước phản hồi của cả Điểm cuối proxy và Điểm cuối mục tiêu, thì lỗi này sẽ xảy ra.
Chẩn đoán
Xác định tên của chính sách ResponseCache được đính kèm nhiều lần. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên của chính sách ResponseCache là
Response-Cache-1
.Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Kiểm tra tất cả các luồng yêu cầu trong Proxy và Điểm cuối mục tiêu của Proxy API xảy ra lỗi. Nếu cùng một chính sách ResponseCache được đính kèm trong 2 hoặc nhiều luồng phản hồi, thì đó là nguyên nhân gây ra lỗi.
Trong ví dụ sau, cùng một chính sách ResponseCache
Response-Cache-1
được định cấu hình trong đường dẫn phản hồi của điểm cuối proxy mặc định PreFlow và điểm cuối mục tiêu mặc định PreFlow:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request> <Step> <Name>Response-Cache</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> </PreFlow> ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TargetEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> </PostFlow> ...
Độ phân giải
Đảm bảo chỉ đính kèm chính sách ResponseCache vào một đường dẫn phản hồi trên tất cả các luồng của Proxy API.
Để sửa ví dụ nêu trên, hãy xoá chính sách Bộ nhớ đệm phản hồi Response-Cache-1
khỏi một trong hai đường dẫn phản hồi.
InvalidMessagePatternForErrorCode
Thông báo Lỗi
Triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công với một trong các thông báo lỗi sau:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
OR
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Ví dụ về thông báo lỗi
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
OR
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Ví dụ về ảnh chụp màn hình báo lỗi
OR
Nguyên nhân
Lỗi này xảy ra nếu phần tử <SkipCacheLookup>
hoặc <SkipCachePopulation>
trong chính sáchResponseCache chứa một điều kiện không hợp lệ.
Chẩn đoán
Kiểm tra tất cả các chính sách ResponseCache trong API Proxy xảy ra lỗi và kiểm tra xem có chính sách nào có điều kiện được chỉ định cho
<SkipCacheLookup>
và/hoặc các phần tử<SkipCachePopulation>
hay không.Kiểm tra xem điều kiện được chỉ định cho phần tử
<SkipCacheLookup>
và/hoặc<SkipCachePopulation>
có hợp lệ hay không. Nếu có, thì đó là nguyên nhân gây ra lỗi.Trong ví dụ sau, phần tử
<SkipCachePopulation>
sử dụng toán tử JavaScript === để kiểm tra xem giá trị bằng nhau và kiểu bằng nhau có hợp lệ hay không.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache-1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <CacheLookupTimeoutInSeconds>2</CacheLookupTimeoutInSeconds> <SkipCacheLookup>request.header.bypass-cache === "true"</SkipCacheLookup> </ResponseCache>
Vì toán tử
===
không hợp lệ, nên bạn sẽ gặp lỗi:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Độ phân giải
Đảm bảo điều kiện được chỉ định cho các phần tử <SkipCacheLookup>
và/hoặc <SkipCachePopulation>
luôn hợp lệ.
Để sửa chính sáchResponseCache trong ví dụ nêu trên, bạn có thể sửa đổi <SkipCacheLookup>
để sử dụng toán tử =
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
<DisplayName>Response Cache-1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.uri" type="string"/>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">3600</TimeoutInSec>
</ExpirySettings>
<CacheLookupTimeoutInSeconds>2</CacheLookupTimeoutInSeconds>
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
</ResponseCache>
CacheNotFound
Thông báo Lỗi
Việc triển khai proxy API thông qua Edge UI hoặc API quản lý Edge sẽ dẫn đến thông báo lỗi như sau, đồng thời trạng thái triển khai của Proxy API được đánh dấu là đã triển khai một phần:
Error: Cache : cache_resource, not found in organization : organization__environment.
Ví dụ về thông báo lỗi
Error Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Nguyên nhân
Lỗi này xảy ra nếu bộ nhớ đệm cụ thể được đề cập trong thông báo lỗi chưa được tạo trên một thành phần Bộ xử lý thông báo cụ thể.
Độ phân giải
Nếu bạn là người dùng Đám mây riêng tư, hãy làm theo hướng dẫn bên dưới:
Liệt kê các triển khai proxy API và xác định Trình xử lý tin nhắn nào gặp lỗi
steps.cache.CacheNotFound
.Kết quả mẫu
curl -u $USERID:$USERPASSWORD http://<management-server-host>:8080/v1/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/deployments { "aPIProxy" : "ResponseCache", "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 : Response-Cache-1, not found in organization : kkalckstein-eval__prod", "errorCode" : "steps.cache.CacheNotFound", "status" : "error", "type" : [ "message-processor" ], "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d" }, ... "state" : "deployed" } ], "name" : "2", "organization" : "kkalckstein-eval"
Lưu ý (các) mã nhận dạng duy nhất (UUID) của Trình xử lý thông báo mà bạn gặp lỗi
steps.cache.CacheNotFound
. Xác định tên máy chủ lưu trữ/địa chỉ IP của Trình xử lý thư từ UUID.Đăng nhập vào Trình xử lý thư cụ thể và khởi động lại bằng lệnh sau:
apigee-service edge-message-processor restart
Nếu bạn là người dùng Public Cloud hoặc nếu sự cố vẫn tiếp diễn đối với Private Cloud, hãy liên hệ với Bộ phận hỗ trợ Apigee để được trợ giúp.