คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
กำหนดค่าวิธีดึงค่าที่แคชไว้ขณะรันไทม์
นโยบายนี้มีไว้ใช้เพื่อการแคชระยะสั้นที่มีวัตถุประสงค์ทั่วไป ใช้ใน ร่วมกับป้อนข้อมูล นโยบายแคช (สำหรับการเขียนรายการ) และนโยบายแคชทำให้ใช้งานไม่ได้ (สำหรับการทำให้รายการเป็นโมฆะ)
สำหรับการแคชคำตอบของทรัพยากรแบ็กเอนด์ โปรดดูที่ นโยบายแคชการตอบกลับ
การอ้างอิงองค์ประกอบ
รายการต่อไปนี้แสดงองค์ประกอบที่คุณสามารถกำหนดค่าในนโยบายนี้
<LookupCache async="false" continueOnError="false" enabled="true" name="Lookup-Cache-1"> <DisplayName>Lookup Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref=""/> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource/> <CacheLookupTimeoutInSeconds/> <Scope>Exclusive</Scope> <AssignTo>flowVar</AssignTo> </LookupCache>
แคชที่แชร์จะรวมอยู่โดยค่าเริ่มต้น หากต้องการใช้แคชที่แชร์ ให้เว้นฟิลด์
องค์ประกอบ <CacheResource>
ในการกำหนดค่านโยบายนี้
ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูลที่สำคัญได้ที่แคชภายใน โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า โปรดดูการสร้างและแก้ไข แคชสภาพแวดล้อม
<LookupCache> แอตทริบิวต์
ตารางต่อไปนี้อธิบายแอตทริบิวต์ทั่วไปในองค์ประกอบระดับบนสุดของนโยบายทั้งหมด
แอตทริบิวต์ | คำอธิบาย | ค่าเริ่มต้น | การมีบุคคลอยู่ |
---|---|---|---|
name |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ (ไม่บังคับ) ใช้องค์ประกอบ |
ไม่มี | ต้องระบุ |
continueOnError |
ตั้งค่าเป็น ตั้งค่าเป็น |
เท็จ | ไม่บังคับ |
enabled |
ตั้งค่าเป็น ตั้งค่าเป็น |
จริง | ไม่บังคับ |
async |
แอตทริบิวต์นี้เลิกใช้งานแล้ว |
เท็จ | เลิกใช้ |
<DisplayName> องค์ประกอบ
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่เป็นภาษาธรรมชาติต่างกัน
<DisplayName>Policy Display Name</DisplayName>
ค่าเริ่มต้น |
ไม่มี หากไม่ใส่องค์ประกอบนี้ ค่าของแอตทริบิวต์ |
---|---|
การมีบุคคลอยู่ | ไม่บังคับ |
ประเภท | สตริง |
<AssignTo> องค์ประกอบ
ระบุตัวแปรที่กำหนดรายการแคชหลังจากดึงข้อมูลจาก แคช ตัวแปรต้องเขียนได้ ถ้าการค้นหาแคชไม่ได้เรียกค่า ตัวแปร จะไม่ถูกตั้งค่า
<AssignTo>variable_to_receive_cached_value</AssignTo>
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ต้องระบุ |
ประเภท: |
สตริง |
<CacheKey> องค์ประกอบ
กำหนดค่าตัวชี้ที่ไม่ซ้ำกันไปยังข้อมูลที่จัดเก็บไว้ในแคช
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ต้องระบุ |
ประเภท: |
ไม่มี |
<CacheKey>
จะสร้างชื่อข้อมูลแต่ละส่วนที่จัดเก็บไว้ใน
แคช
ระหว่างรันไทม์ จะมีการเพิ่มค่า <KeyFragment>
ไว้ข้างหน้าค่า
ค่าองค์ประกอบ <Scope>
หรือค่า <Prefix>
ตัวอย่างเช่น พารามิเตอร์
ต่อจากผลลัพธ์ในคีย์แคชของ
UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
คุณใช้องค์ประกอบ <CacheKey>
ร่วมกับ
<Prefix>
และ <Scope>
ดูข้อมูลเพิ่มเติมได้ที่การใช้งานคีย์แคช
<CacheLookupTimeoutInSeconds> องค์ประกอบ
ระบุจำนวนวินาทีหลังจากที่ระบบพิจารณาการค้นหาแคชที่ไม่สำเร็จ ไม่พบแคช หากเป็นเช่นนี้ ขั้นตอนจะกลับมาทำงานอีกครั้งตามเส้นทางที่ไม่มีข้อมูลแคช
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
ค่าเริ่มต้น: |
30 |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
จำนวนเต็ม |
<CacheResource> องค์ประกอบ
ระบุแคชที่ใช้เก็บข้อความ
ละเว้นองค์ประกอบนี้โดยสิ้นเชิงหากนโยบายนี้ (และ PopulateCache ที่เกี่ยวข้องและ นโยบายแคชเก่า) กำลังใช้แคชที่แชร์ซึ่งรวมไว้
<CacheResource>cache_to_use</CacheResource>
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
สตริง |
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าแคชที่การสร้างและแก้ไขสภาพแวดล้อม แคช
<CacheKey>/<KeyFragment> องค์ประกอบ
ระบุค่าที่ควรรวมไว้ในคีย์แคช โดยสร้างเนมสเปซสำหรับการจับคู่ คำขอไปยังการตอบกลับที่แคชไว้
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
ไม่มี |
ซึ่งอาจเป็นคีย์ (ชื่อแบบคงที่ที่คุณระบุ) หรือค่า (รายการแบบไดนามิกที่ตั้งค่าโดย อ้างอิงตัวแปร) ส่วนย่อยที่ระบุทั้งหมดแบบรวม (บวกคำนำหน้า) จะต่อเข้ากับ สร้างคีย์แคช
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
คุณใช้องค์ประกอบ <KeyFragment>
ร่วมกับ
<Prefix>
และ <Scope>
ดูข้อมูลเพิ่มเติมได้ที่การใช้งานคีย์แคช
Attributes
แอตทริบิวต์ | ประเภท | ค่าเริ่มต้น | ต้องระบุ | คำอธิบาย |
---|---|---|---|---|
อ้างอิง | สตริง | ไม่ได้ |
ตัวแปรที่จะรับค่า ไม่ควรใช้หากองค์ประกอบนี้มี ค่าลิเทอรัล |
<CacheKey>/<Prefix> องค์ประกอบ
ระบุค่าที่จะใช้เป็นคำนำหน้าคีย์แคช
<Prefix>prefix_string</Prefix>
ค่าเริ่มต้น: |
ไม่มี |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
สตริง |
ใช้ค่านี้แทน <Scope>
เมื่อต้องการระบุค่าของคุณเอง
แทนที่จะเป็นค่าที่แจกแจง <Scope>
หากกำหนดไว้
<Prefix>
เพิ่มค่าคีย์แคชไว้หน้ารายการที่เขียนลงในแคช ต
ค่าองค์ประกอบ <Prefix>
จะลบล้างองค์ประกอบ <Scope>
คุณใช้องค์ประกอบ <Prefix>
ร่วมกับ
<CacheKey>
และ <Scope>
ดูข้อมูลเพิ่มเติมได้ที่การใช้งานคีย์แคช
<Scope> องค์ประกอบ
การแจงนับที่ใช้เพื่อสร้างคำนำหน้าสำหรับคีย์แคชเมื่อ <Prefix>
ไม่ได้ระบุองค์ประกอบในองค์ประกอบ <CacheKey>
<Scope>scope_enumeration</Scope>
ค่าเริ่มต้น: |
"พิเศษ" |
การตรวจหาบุคคล: |
ไม่บังคับ |
ประเภท: |
สตริง |
การตั้งค่า <Scope>
จะกำหนดคีย์แคชที่เพิ่มด้านหน้าตาม
ค่า <Scope>
ตัวอย่างเช่น คีย์แคชจะมีรูปแบบต่อไปนี้เมื่อ
กำหนดขอบเขตเป็น Exclusive
:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__
[ serializedCacheKey ]
หากมีองค์ประกอบ <Prefix>
ใน <CacheKey>
องค์ประกอบดังกล่าว
มีผลแทนค่าของเอลิเมนต์ <Scope>
ค่าที่ถูกต้องจะรวมถึงการแจงนับ
ที่ด้านล่าง
คุณใช้องค์ประกอบ <Scope>
ร่วมกับ
<CacheKey>
และ <Prefix>
ดูข้อมูลเพิ่มเติมได้ที่การใช้งานคีย์แคช
ค่าที่ยอมรับ
Global |
ระบบจะแชร์คีย์แคชในพร็อกซี API ทั้งหมดที่ทำให้ใช้งานได้ในสภาพแวดล้อม คีย์แคชคือ ซึ่งมีคำนำหน้าในรูปแบบ orgName __ envName __ หากคุณกำหนดรายการ |
Application |
ชื่อพร็อกซี API จะใช้เป็นคำนำหน้า มีการเพิ่มคีย์แคชไว้ข้างหน้าในแบบฟอร์ม orgName__envName__applicationName. |
Proxy |
การกำหนดค่า ProxyEndpoint ใช้เป็นคำนำหน้า มีการเพิ่มคีย์แคชไว้ข้างหน้าในแบบฟอร์ม orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName ที่ใช้เวลาเพียง 2 นาที |
Target |
การกำหนดค่า TargetEndpoint ใช้เป็นคำนำหน้า คีย์แคชที่มีการแทรกไว้ข้างหน้าในแบบฟอร์ม orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName ที่ใช้เวลาเพียง 2 นาที |
Exclusive |
ค่าเริ่มต้น นี่เป็นค่าที่เฉพาะเจาะจงที่สุด ดังนั้นจึงมีความเสี่ยงต่ำต่อเนมสเปซ ภายในแคชที่ระบุ คำนำหน้าเป็นหนึ่งในสองรูปแบบต่อไปนี้
คีย์แคชที่มีการแทรกไว้ข้างหน้าในแบบฟอร์ม orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName ตัวอย่างเช่น สตริงทั้งหมดอาจมีลักษณะดังนี้ apifactory__test__weatherapi__16__default__apiAccessToken |
หมายเหตุการใช้งาน
ใช้นโยบายนี้สำหรับการแคชอเนกประสงค์ ขณะรันไทม์ นโยบาย LookupCache จะดึงข้อมูล จากแคช โดยกำหนดค่าให้กับตัวแปรที่คุณระบุด้วยองค์ประกอบ AssignTo (หากไม่มีการดึงค่า จะไม่มีการตั้งตัวแปร) ระบบค้นหาค่าโดยอิงจากแคช ที่สร้างผ่านการกำหนดค่าที่รวมองค์ประกอบ CacheKey และ Scope กล่าวคือ เพื่อดึงค่าบางค่าที่เพิ่มลงในแคชโดยนโยบาย PopulateCache เช่น LookupCache นโยบายต้องมีการกำหนดค่าองค์ประกอบที่เกี่ยวข้องกับคีย์แคชในลักษณะเดียวกับ PopulateCache
การแคชจุดประสงค์ทั่วไปด้วยนโยบายแคชการเติมข้อมูล
นโยบาย LookupCache และนโยบาย CacheateCache ใช้
แคชที่คุณกำหนดค่าหรือแคชที่แชร์ซึ่งรวมไว้โดยค่าเริ่มต้น ในกรณีส่วนใหญ่ พารามิเตอร์
แคชที่แชร์ที่เกี่ยวข้องควรจะตรงตามความต้องการของคุณ หากต้องการใช้แคชเริ่มต้น ให้ละเว้น
องค์ประกอบ <CacheResource>
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าแคชที่การสร้างและแก้ไขสภาพแวดล้อม แคช ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูลที่สำคัญได้ที่แคชภายใน
ตัวแปรโฟลว์
ตัวแปรโฟลว์สามารถใช้เพื่อกำหนดค่าลักษณะรันไทม์แบบไดนามิกสำหรับนโยบายและโฟลว์ได้ โดยอิงตาม บนส่วนหัว HTTP หรือเนื้อหาข้อความ หรือบริบทที่มีอยู่ในโฟลว์ หากต้องการดูข้อมูลเพิ่มเติม เกี่ยวกับตัวแปรโฟลว์ โปรดดูตัวแปร ข้อมูลอ้างอิง
คุณสามารถใช้ตัวแปรโฟลว์ที่กำหนดไว้ล่วงหน้าต่อไปนี้หลังจากที่คุณปรับแต่งลักษณะการทำงานของ แคชที่คุณกำหนดในนโยบาย LookupCache
ตัวแปร | ประเภท | สิทธิ์ | คำอธิบาย |
---|---|---|---|
lookupcache.{policy-name}.cachename | สตริง | อ่านอย่างเดียว | แสดงผลชื่อแคชที่ใช้ในนโยบาย |
lookupcache.{policy-name}.cachekey | สตริง | อ่านอย่างเดียว | แสดงผลคีย์ที่ใช้ |
lookupcache.{policy-name}.cachehit | บูลีน | อ่านอย่างเดียว | เป็นจริงหากนโยบายพบค่าสำหรับคีย์แคชที่ระบุ |
lookupcache.{policy-name}.assignto | สตริง | อ่านอย่างเดียว | แสดงผลตัวแปรที่กำหนดแคช |
รหัสข้อผิดพลาด
ส่วนนี้อธิบายข้อความแสดงข้อผิดพลาดและตัวแปรโฟลว์ที่ตั้งค่าไว้เมื่อนโยบายนี้ทริกเกอร์ข้อผิดพลาด ข้อมูลนี้สำคัญที่ต้องทราบ หากคุณกำลังพัฒนากฎข้อผิดพลาดสำหรับพร็อกซี ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
คำนำหน้ารหัสข้อผิดพลาด
ไม่มีข้อมูล
ข้อผิดพลาดเกี่ยวกับรันไทม์
นโยบายนี้จะไม่แสดงข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidCacheResourceReference |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ <CacheResource> เป็นชื่อที่ไม่มีอยู่ในสภาพแวดล้อมที่ทำให้พร็อกซี API ใช้งานได้ |
build |
InvalidTimeout |
หากตั้งค่าองค์ประกอบ <CacheLookupTimeoutInSeconds> เป็นตัวเลขติดลบ จะทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ |
build |
CacheNotFound |
ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้สร้างแคชที่ระบุในข้อความแสดงข้อผิดพลาดบนคอมโพเนนต์โปรแกรมประมวลผลข้อความที่เฉพาะเจาะจง | build |
ตัวแปรของข้อผิดพลาด
ไม่มีข้อมูล
ตัวอย่างการตอบกลับข้อผิดพลาด
ไม่มีข้อมูล