أنت تعرض مستندات 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> عنصر
تحدِّد هذه السياسة ذاكرة التخزين المؤقت التي يجب تخزين الرسائل فيها.
احذف هذا العنصر تمامًا إذا كانت هذه السياسة (وCheckCache المقابل الخاص بك سياسات Badatecache) تستخدم ذاكرة التخزين المؤقت المشتركة المضمنة.
<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 ]
إذا كان عنصر <Prefix>
موجودًا في <CacheKey>
، سيتم
يحل محل قيمة العنصر <Scope>
. تشمل القيم الصالحة التعدادات.
أدناه.
يمكنك استخدام العنصر <Scope>
مع
<CacheKey>
و<Prefix>
لمزيد من المعلومات، يمكنك الاطّلاع على العمل باستخدام مفاتيح ذاكرة التخزين المؤقت.
القِيم المقبولة
Global |
تتم مشاركة مفتاح ذاكرة التخزين المؤقت عبر جميع الخوادم الوكيلة لواجهة برمجة التطبيقات التي تم نشرها في البيئة. مفتاح ذاكرة التخزين المؤقت هو مسبوقة بالصيغة orgName __ envName __. إذا حددت إدخال |
Application |
يتم استخدام اسم الخادم الوكيل لواجهة برمجة التطبيقات كبادئة. تتم إضافة مفتاح ذاكرة التخزين المؤقت على الشكل orgName__envName__apiProxyName. |
Proxy |
يتم استخدام إعداد ProxyEndpoint كبادئة. تتم إضافة مفتاح ذاكرة التخزين المؤقت في النموذج 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>
المطلوب ضبطه عند انتهاء صلاحية القيمة المخزّنة مؤقتًا.
يُستخدم التخزين المؤقت للأغراض العامة من خلال سياسة Populatecache وسياسة Lookupcache وسياسة Spamatecache.
ذاكرة تخزين مؤقت تتم إعدادها أو ذاكرة تخزين مؤقت مشتركة يتم تضمينها بشكل افتراضي. في معظم الحالات،
ذاكرة التخزين المؤقت المشتركة الأساسية احتياجاتك. لاستخدام ذاكرة التخزين المؤقت هذه، احذف
العنصر <CacheResource>
.
حدود ذاكرة التخزين المؤقت: الحدود المختلفة لذاكرة التخزين المؤقت تطبيق مثل الاسم وحجم القيمة وإجمالي عدد ذاكرات التخزين المؤقت وعدد العناصر الموجودة في ذاكرة التخزين المؤقت وانتهاء الصلاحية.
للحصول على مزيد من المعلومات حول مخزن البيانات الأساسي، اطلع على العناصر الداخلية لذاكرة التخزين المؤقت. لمزيد من المعلومات حول عملية الضبط ، راجع إنشاء لبيئة التخزين المؤقت.
معلومات عن تشفير ذاكرة التخزين المؤقت
Edge for Public Cloud: يتم تشفير ذاكرة التخزين المؤقت فقط في PCI: وتفعيل ميزة HIPAA المؤسسات. يتم ضبط التشفير لتلك المؤسسات أثناء عملية المؤسسة. توفير المتطلبات اللازمة.
رموز الخطأ
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP Status | Occurs when |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | An entry cannot be cached. The message object being cached is not an instance of a class that is Serializable. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in the PopulateCache policy is set to
a name that does not exist in the environment where the API proxy is being deployed. |
build |
CacheNotFound |
The cache specified in the <CacheResource> element does not
exist. |
build |
Fault variables
These variables are set when this policy triggers an error. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | populatecache.POP-CACHE-1.failed = true |
Example error response
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Example fault rule
<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>