आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
इस नीति से यह कॉन्फ़िगर किया जाता है कि रनटाइम के दौरान, कैश मेमोरी में सेव की गई वैल्यू कैसे लिखी जानी चाहिए.
कैश मेमोरी में डेटा अपने-आप भरने की नीति को, सामान्य इस्तेमाल के लिए इस्तेमाल की जाने वाली कैश मेमोरी में एंट्री लिखने के लिए बनाया गया है. इसका इस्तेमाल lookup के साथ किया जाता है कैश मेमोरी से जुड़ी नीति (कैश मेमोरी में सेव की गई जानकारी पढ़ने के लिए) और कैश मेमोरी में सेव डेटा को अमान्य करने से जुड़ी नीति (अमान्य एंट्री के लिए).
बैकएंड संसाधनों के जवाबों को कैश मेमोरी में सेव करने के लिए, देखें रिस्पॉन्स कैश मेमोरी से जुड़ी नीति.
एलिमेंट का रेफ़रंस
यहां उन एलिमेंट की सूची दी गई है जिन्हें इस नीति पर कॉन्फ़िगर किया जा सकता है.
<PopulateCache async="false" continueOnError="false" enabled="true" name="Populate-Cache-1">
<DisplayName>Populate Cache 1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref=""/>
</CacheKey>
<!-- Omit this element if you're using the included shared cache. -->
<CacheResource/>
<Scope>Exclusive</Scope>
<ExpirySettings>
<TimeoutInSeconds>300</TimeoutInSeconds>
</ExpirySettings>
<Source>flowVar</Source>
</PopulateCache><PopulateCache> एट्रिब्यूट
यहां दी गई टेबल में, ऐसे एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट में एक जैसे होते हैं:
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
name |
नीति का अंदरूनी नाम. इसके अलावा, नीति को लेबल करने के लिए, |
लागू नहीं | ज़रूरी है |
continueOnError |
किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे |
गलत | वैकल्पिक |
enabled |
नीति को लागू करने के लिए, नीति को बंद करने के लिए, |
सही | वैकल्पिक |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
गलत | बहिष्कृत |
<DisplayName> एलिमेंट
इस कॉलम में नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम अलग और सामान्य भाषा में है.
<DisplayName>Policy Display Name</DisplayName>
| डिफ़ॉल्ट |
लागू नहीं अगर आप इस एलिमेंट को छोड़ देते हैं, तो नीति की |
|---|---|
| मौजूदगी | वैकल्पिक |
| टाइप | स्ट्रिंग |
<CacheKey> एलिमेंट
यह कैश मेमोरी में सेव किए गए डेटा के किसी हिस्से का यूनीक पॉइंटर कॉन्फ़िगर करता है.
कैश कुंजियों का साइज़ 2 केबी से ज़्यादा नहीं होना चाहिए.
<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>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.
<CacheResource> एलिमेंट
उस कैश मेमोरी के बारे में बताता है जहां मैसेज सेव करने हैं.
अगर इस नीति (और अपने संबंधित lookupकैश और अमान्यateकैश नीतियां) शामिल की गई 'शेयर की गई कैश मेमोरी' सुविधा का इस्तेमाल कर रही है.
<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>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.
विशेषताएं
| एट्रिब्यूट | टाइप | डिफ़ॉल्ट | ज़रूरी है | ब्यौरा |
|---|---|---|---|---|
| संदर्भ | स्ट्रिंग | नहीं |
वह वैरिएबल जिससे वैल्यू पाना है. अगर इस एलिमेंट में ये चीज़ें शामिल हैं, तो इसका इस्तेमाल नहीं करना चाहिए लिटरल वैल्यू होती है. |
<CacheKey>/<Prefix> एलिमेंट
यह कैश मेमोरी की कुंजी के प्रीफ़िक्स के तौर पर इस्तेमाल की जाने वाली वैल्यू के बारे में बताता है.
<Prefix>prefix_string</Prefix>
|
डिफ़ॉल्ट: |
लागू नहीं |
|
मौजूदगी: |
वैकल्पिक |
|
टाइप: |
स्ट्रिंग |
जब आपको अपना मान तय करना हो, तो <Scope> के बजाय इस मान का इस्तेमाल करें
के बजाय <Scope>-एन्युरेटेड वैल्यू डाली जा सकती है. अगर तय किया गया हो,
<Prefix>, कैश मेमोरी में लिखी गई एंट्री के लिए, कैश मेमोरी की कुंजी की वैल्यू को जोड़ता है. ऐप्लिकेशन
<Prefix> एलिमेंट की वैल्यू, <Scope> एलिमेंट को बदल देती है
वैल्यू.
<Prefix> एलिमेंट का इस्तेमाल इसके साथ किया जाता है
<CacheKey> और <Scope>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.
<ExpirySettings> एलिमेंट
इस नीति से पता चलता है कि कैश मेमोरी में सेव की गई एंट्री की समयसीमा कब खत्म होनी चाहिए. टास्क कब शुरू होगा
मौजूद है, <TimeoutInSeconds> ओवरराइड करता है
<TimeOfDay> और <ExpiryDate>, दोनों.
<ExpirySettings> <!-- use exactly one of the following child elements --> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> <ExpiryDate ref="date_variable">expiration_date</ExpiryDate> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> </ExpirySettings>
|
डिफ़ॉल्ट: |
लागू नहीं |
|
मौजूदगी: |
ज़रूरी है |
|
टाइप: |
लागू नहीं |
<ExpirySettings> के चाइल्ड एलिमेंट
सिर्फ़ एक चाइल्ड एलिमेंट का इस्तेमाल करें. नीचे दी गई टेबल में, इन प्रॉडक्ट के चाइल्ड एलिमेंट की जानकारी दी गई है
<ExpirySettings>:
| चाइल्ड एलिमेंट | ब्यौरा |
|---|---|
<TimeoutInSeconds> |
कैश मेमोरी में सेव किया गया डेटा कितने सेकंड बाद खत्म हो जाएगा. <ExpirySettings> <TimeoutInSeconds ref="var-containing-duration">expiry</TimeoutInSeconds> </ExpirySettings> यह एलिमेंट, अब बंद हो चुके |
<ExpiryDate> |
कैश मेमोरी में सेव की गई एंट्री की समयसीमा खत्म होने की तारीख के बारे में बताता है. फ़ॉर्म में कोई स्ट्रिंग बताएं
<ExpirySettings> <ExpiryDate ref="var-containing-date">expiry</ExpiryDate> </ExpirySettings> अगर दी गई तारीख बीत चुकी है, तो नीति कैश मेमोरी में सेव की गई एंट्री तक लाइव रहने में लगने वाला ज़्यादा से ज़्यादा समय. यह अवधि ज़्यादा से ज़्यादा 30 दिनों की हो सकती है. |
<TimeOfDay> |
दिन के उस समय के बारे में बताता है जब कैश एंट्री की समयसीमा खत्म हो जानी चाहिए.
<ExpirySettings> <TimeOfDay ref="var-containing-time">expiry</TimeOfDay> </ExpirySettings> |
आपको संभावित चाइल्ड एलिमेंट में से किसी एक के बारे में बताना चाहिए. अगर एक से ज़्यादा एलिमेंट तय किए जाते हैं,
प्राथमिकता के क्रम ये हैं:TimeoutInSeconds, ExpiryDate,
TimeOfDay.
<ExpirySettings> के ऊपर दिए गए हर चाइल्ड एलिमेंट के साथ,
चाइल्ड एलिमेंट पर ref एट्रिब्यूट का इस्तेमाल करने पर नीति
नाम वाले कॉन्टेक्स्ट वैरिएबल से समयसीमा खत्म होने वाली वैल्यू को फिर से पाएं. अगर वैरिएबल की वैल्यू तय नहीं की गई है,
इस नीति में, चाइल्ड एलिमेंट की लिटरल टेक्स्ट वैल्यू का इस्तेमाल किया जाता है.
<Scope> एलिमेंट
<Prefix> के समय कैश मेमोरी में सेव की गई कुंजी के लिए प्रीफ़िक्स बनाने के लिए इस्तेमाल किया जाने वाला इन्यूमरेशन
<CacheKey> एलिमेंट में एलिमेंट की वैल्यू नहीं दी गई है.
<Scope>scope_enumeration</Scope>
|
डिफ़ॉल्ट: |
"खास" |
|
मौजूदगी: |
वैकल्पिक |
|
टाइप: |
स्ट्रिंग |
<Scope> सेटिंग एक कैश कुंजी तय करती है, जिसे
<Scope> वैल्यू. उदाहरण के लिए, कैश मेमोरी में सेव की गई कुंजी को ऐसा तब माना जाएगा, जब
दायरा Exclusive पर सेट किया गया है:
orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ]
अगर <CacheKey> में <Prefix> एलिमेंट मौजूद है, तो इसका मतलब है कि
<Scope> एलिमेंट की वैल्यू की जगह लागू होता है. मान्य वैल्यू में, गिनती शामिल हैं
देखें.
<Scope> एलिमेंट का इस्तेमाल इसके साथ किया जाता है
<CacheKey> और <Prefix>. ज़्यादा जानकारी के लिए, कैश मेमोरी में सेव की जाने वाली कुंजियों के साथ काम करना लेख पढ़ें.
स्वीकार की जा सकने वाली वैल्यू
Global |
कैश मेमोरी की कुंजी, एनवायरमेंट में डिप्लॉय की गई सभी एपीआई प्रॉक्सी के साथ शेयर की जाती है. कैश कुंजी है orgName __ envName __ के फ़ॉर्म में पहले से जोड़ा जाता है. यदि आप कोई |
Application |
एपीआई प्रॉक्सी के नाम का इस्तेमाल प्रीफ़िक्स के तौर पर किया जाता है. कैश कुंजी को orgName__envName__apiProxyName के फ़ॉर्म में पहले से जोड़ा जाता है. |
Proxy |
प्रॉक्सीएंडपॉइंट कॉन्फ़िगरेशन का इस्तेमाल प्रीफ़िक्स के तौर पर किया जाता है. कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName |
Target |
TargetEndpoint कॉन्फ़िगरेशन का इस्तेमाल प्रीफ़िक्स के तौर पर किया जाता है. कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName . |
Exclusive |
डिफ़ॉल्ट. यह सबसे खास है और इसलिए, नेमस्पेस का जोखिम भी कम होता है किसी दिए गए कैश में टकराव. प्रीफ़िक्स दो तरह का है:
कैश कुंजी को फ़ॉर्म में पहले से जोड़ा गया है orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName उदाहरण के लिए, पूरी स्ट्रिंग कुछ ऐसी दिख सकती है: apifactory__test__weatherapi__16__default__apiAccessToken |
<Source> एलिमेंट
उस वैरिएबल के बारे में बताता है जिसकी वैल्यू कैश मेमोरी में सेव की जानी चाहिए.
<Source>source_variable</Source>
|
डिफ़ॉल्ट: |
लागू नहीं |
|
मौजूदगी: |
ज़रूरी है |
|
टाइप: |
स्ट्रिंग |
इस्तेमाल की जानकारी
अलग-अलग कामों के लिए कैश मेमोरी में सेव करने के लिए, इस नीति का इस्तेमाल करें. रनटाइम के दौरान,
<PopulateCache> नीति, उस वैरिएबल से डेटा लिखती है जिसे आपने
<Source> एलिमेंट को कैश मेमोरी में सेव करने का तरीका
<CacheResource> एलिमेंट. आपके पास <CacheKey>,
<Scope> और <Prefix> एलिमेंट की मदद से, पासकोड तय किया जा सकता है
वैल्यू को पाने के लिए, <LookupCache> नीति से इसका इस्तेमाल किया जा सकता है. इसका इस्तेमाल करें
कैश मेमोरी में सेव की गई वैल्यू की समयसीमा खत्म होने के बाद, <ExpirySettings> एलिमेंट को कॉन्फ़िगर करें.
Durationकैश मेमोरी में सेव करने की नीति, lookupकैश नीति, और पुष्टि करने के लिए कैश मेमोरी से जुड़ी नीति का इस्तेमाल करके, आम काम के लिए कैश मेमोरी में सेव करने की सुविधा का इस्तेमाल करती है
या तो कॉन्फ़िगर किया गया कैश मेमोरी या शेयर की गई कैश मेमोरी जो डिफ़ॉल्ट रूप से शामिल होती है. ज़्यादातर मामलों में,
शेयर की गई कैश मेमोरी आपकी ज़रूरतों के हिसाब से होनी चाहिए. इस कैश का इस्तेमाल करने के लिए, बस इसे छोड़ दें
<CacheResource> एलिमेंट.
कैश मेमोरी की सीमाएं: कैश मेमोरी की अलग-अलग सीमाएं लागू की जा सकती हैं, जैसे कि नाम और वैल्यू का साइज़, कैश मेमोरी की कुल संख्या, कैश मेमोरी में आइटम की संख्या, और उनकी समयसीमा खत्म होने की वजह से.
मौजूदा डेटा स्टोर के बारे में ज़्यादा जानने के लिए, कैश मेमोरी में सेव डेटा सेक्शन देखें. कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए कैश मेमोरी में सेव करने के लिए, किसी ब्राउज़र पर एनवायरमेंट कैश मेमोरी.
कैश मेमोरी में सेव डेटा को एन्क्रिप्ट (सुरक्षित) करने के बारे में जानकारी
Edge for Public Cloud: कैश मेमोरी को सिर्फ़ एन्क्रिप्ट (सुरक्षित) किया जाता है PCI- और HIPAA की सुविधा चालू हो संगठनों ने. उन संगठनों के लिए एन्क्रिप्ट (सुरक्षित) करने का तरीका, संगठन के दौरान कॉन्फ़िगर किया गया है प्रॉविज़निंग.
गड़बड़ी कोड
इस सेक्शन में, गड़बड़ी के कोड और गड़बड़ी के मैसेज के बारे में बताया गया है. साथ ही, इन गड़बड़ियों के वैरिएबल के बारे में भी बताया गया है, जो Edge की मदद से सेट किए जाते हैं. यह जानकारी जानना ज़रूरी है कि क्या आप गड़बड़ियों को ठीक करता है. ज़्यादा जानने के लिए, आपके लिए ज़रूरी जानकारी देखें नीति से जुड़ी गड़बड़ियों और हैंडलिंग के बारे में जानकारी गलतियां.
रनटाइम की गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
| गड़बड़ी कोड | एचटीटीपी स्थिति | कब होता है |
|---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | एंट्री को कैश मेमोरी में सेव नहीं किया जा सकता. कैश मेमोरी में सेव किया जा रहा मैसेज ऑब्जेक्ट, ऐसी क्लास है जिसे क्रम में लगाया जा सकता है. |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाली प्रॉक्सी को डिप्लॉय किया जाता है.
| गड़बड़ी का नाम | वजह | ठीक करें |
|---|---|---|
InvalidCacheResourceReference |
यह गड़बड़ी तब होती है, जब पॉप-अप कैश नीति में <CacheResource> एलिमेंट को इस पर सेट किया गया हो
यह नाम उस एनवायरमेंट में मौजूद नहीं है जहां एपीआई प्रॉक्सी डिप्लॉय किया जा रहा है. |
build |
CacheNotFound |
<CacheResource> एलिमेंट में दी गई कैश मेमोरी,
मौजूद हैं. |
build |
गड़बड़ी के वैरिएबल
ये वैरिएबल तब सेट किए जाते हैं, जब इस नीति की वजह से कोई गड़बड़ी होती है. ज़्यादा जानकारी के लिए, आपके लिए ज़रूरी जानकारी देखें नीति से जुड़ी गड़बड़ियों के बारे में जानकारी.
| वैरिएबल | कहां | उदाहरण |
|---|---|---|
fault.name="fault_name" |
fault_name गड़बड़ी का नाम है, जैसा कि ऊपर रनटाइम में गड़बड़ियां टेबल में बताया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. | populatecache.POP-CACHE-1.failed = true |
गड़बड़ी के रिस्पॉन्स का उदाहरण
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
गड़बड़ी के नियम का उदाहरण
<FaultRule name="Populate Cache Fault">
<Step>
<Name>AM-EntryCannotBeCached</Name>
<Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
</Step>
<Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>