أنت تعرض مستندات 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 المؤسسات. يتم ضبط التشفير لتلك المؤسسات أثناء عملية المؤسسة. توفير المتطلبات اللازمة.
رموز الخطأ
يصف هذا القسم رموز الخطأ ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تم ضبطها من خلال Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. من المهم معرفة هذه المعلومات إذا كنت تضع قواعد خطأ التعامل مع الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على ما تحتاج إلى معرفته حول أخطاء السياسة والتعامل مع المعالجة والأخطاء.
أخطاء بيئة التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
رمز الخطأ | حالة HTTP | يحدث عند |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | لا يمكن تخزين أحد الإدخالات مؤقتًا. كائن الرسالة الذي يتم تخزينه مؤقتًا ليس مثيلاً فئة قابلة للتسلسل. |
أخطاء النشر
يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.
اسم الخطأ | السبب | إصلاح |
---|---|---|
InvalidCacheResourceReference |
يحدث هذا الخطأ في حال ضبط العنصر <CacheResource> في سياسة Populatecache على
اسم غير موجود في البيئة التي يتم نشر الخادم الوكيل لواجهة برمجة التطبيقات فيها. |
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>