شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
این بخش اطلاعات مرجع در مورد متغیرهای جریان را ارائه میدهد.
Apigee Edge متغیرهای جریان زیر را تعریف میکند:
apigeeloadbalancingrouteapiproxymessagerouterapplicationmessageidservicecalloutclientorganizationsystemcurrentproxytargetenvironmentratelimitvariableerrorrequestvirtualhostisresponse
هر یک از این متغیرها در بخشهای بعدی توضیح داده شدهاند.
apigee
یک متغیر کمکی که اطلاعاتی در مورد زمان اجرای سیاست ارائه میدهد.
جدول زیر ویژگیهای متغیر apigee را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
apigee.metrics.policy. policy_name .timeTaken | عدد صحیح | فقط خواندنی | مدت زمانی که طول میکشد تا سیاست اجرا شود (برحسب نانوثانیه). | سیاست |
apiproxy
پروکسی API را توصیف میکند.
جدول زیر ویژگیهای متغیر apiproxy را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
apiproxy.name | رشته | فقط خواندنی | نام پروکسی API. به عنوان مثال، "پروکسی من". | درخواست پروکسی |
apiproxy.revision | رشته | فقط خواندنی | شماره ویرایش یک پروکسی API. برای مثال، "6". | درخواست پروکسی |
برای اطلاعات بیشتر در مورد کار با پروکسیهای API، به بخش «درک APIها و پروکسیهای API» مراجعه کنید.
application
یک ظرف برای ویژگی application.basepath .
جدول زیر ویژگیهای متغیر application را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
application.basepath | رشته | فقط خواندنی | مسیر پایه استقرار (مشخص شده در هنگام استقرار API). | درخواست پروکسی |
client
برنامه یا سیستمی که درخواستی را به روتر Edge ارسال کرده است.
جدول زیر ویژگیهای متغیر client را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
client.cn | رشته | فقط خواندنی | نام مشترک مشخص شده در گواهی TLS/SSL ارائه شده توسط برنامه کلاینت. | درخواست پروکسی |
client.country | رشته | فقط خواندنی | کشور موجود در گواهی TLS/SSL که توسط برنامهی کلاینت ارائه میشود. | درخواست پروکسی |
client.email.address | رشته | فقط خواندنی | آدرس ایمیل موجود در گواهی TLS/SSL که توسط برنامه کلاینت ارائه شده است. | درخواست پروکسی |
client.host | رشته | فقط خواندنی | IP میزبان HTTP مرتبط با درخواست دریافت شده توسط ProxyEndpoint. | درخواست پروکسی |
client.ip | رشته | فقط خواندنی | آدرس IP کلاینت یا سیستمی که پیام را به روتر Edge ارسال میکند. برای مثال، این میتواند IP کلاینت اصلی یا IP متعادلکننده بار باشد. | درخواست پروکسی |
client.locality | رشته | فقط خواندنی | محل (شهر) در گواهی TLS/SSL ارائه شده توسط مشتری. | درخواست پروکسی |
client.organization | رشته | فقط خواندنی | سازمان در گواهی TLS/SSL ارائه شده توسط مشتری. (لزوماً معادل سازمان در Apigee Edge نیست.) | درخواست پروکسی |
client.organization.unit | رشته | فقط خواندنی | واحد سازمانی در گواهی TLS/SSL ارائه شده توسط مشتری. | درخواست پروکسی |
client.port | عدد صحیح | فقط خواندنی | پورت HTTP مرتبط با درخواست کلاینت مبدا به ProxyEndpoint. | درخواست پروکسی |
client.received.end.time | رشته | فقط خواندنی | زمانی که به صورت رشته بیان میشود و در آن پروکسی دریافت درخواست از کلاینت مبدا در ProxyEndpoint را به پایان رسانده است. به عنوان مثال: چهارشنبه، ۲۱ آگوست ۲۰۱۳، ساعت ۱۹:۱۶:۴۷ به وقت جهانی. این مقدار زمانی، نمایش رشتهای کمیت مهر زمانی ۳۲ بیتی مربوطه است. برای مثال، 'چهارشنبه، ۲۱ آگوست ۲۰۱۳، ساعت ۱۹:۱۶:۴۷ به وقت جهانی' معادل مقدار مهر زمانی ۱۳۷۷۱۱۲۶۰۷۴۱۳ است. | درخواست پروکسی |
client.received.end.timestamp | بلند | فقط خواندنی | مقدار مهر زمانی که مشخص میکند پروکسی چه زمانی دریافت درخواست از کلاینت مبدا را در ProxyEndpoint به پایان رسانده است. این مقدار یک عدد صحیح ۶۴ بیتی (طولانی) است که شامل تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی است. | درخواست پروکسی |
client.received.start.time | رشته | فقط خواندنی | زمانی که به صورت رشته بیان میشود و در آن پروکسی شروع به دریافت درخواست از کلاینت مبدا در ProxyEndpoint میکند. به عنوان مثال: چهارشنبه، ۲۱ آگوست ۲۰۱۳، ساعت ۱۹:۱۶:۴۷ به وقت جهانی این مقدار زمانی، نمایش رشتهای کمیت مهر زمانی ۳۲ بیتی مربوطه است. برای مثال، 'چهارشنبه، ۲۱ آگوست ۲۰۱۳، ساعت ۱۹:۱۶:۴۷ به وقت جهانی' معادل مقدار مهر زمانی ۱۳۷۷۱۱۲۶۰۷۴۱۳ است. | درخواست پروکسی |
client.received.start.timestamp | بلند | فقط خواندنی | مقدار timestamp که مشخص میکند پروکسی از چه زمانی شروع به دریافت درخواست از کلاینت مبدا در ProxyEndpoint کرده است. این مقدار یک عدد صحیح ۶۴ بیتی (طولانی) است که شامل تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی است. | درخواست پروکسی |
client.scheme | رشته | فقط خواندنی | بسته به نوع انتقالی که توسط برنامهی کلاینت برای ارسال پیام درخواست استفاده میشود، http یا https را برمیگرداند. | درخواست پروکسی |
client.sent.end.time | رشته | فقط خواندنی | زمانی که به صورت رشته بیان میشود و در آن پروکسی ارسال پاسخ از ProxyEndpoint به کلاینت را به پایان رسانده است. به عنوان مثال: "چهارشنبه، ۲۱ آگوست ۲۰۱۳، ساعت ۱۹:۱۶:۴۷ به وقت جهانی". این مقدار، نمایش رشتهای از | جریان پست کلاینت |
client.sent.end.timestamp | بلند | فقط خواندنی | مقدار timestamp که مشخص میکند ProxyEndpoint چه زمانی ارسال پاسخ به برنامه کلاینت مبدا را به پایان رسانده است. این مقدار یک عدد صحیح ۶۴ بیتی (طولانی) است که شامل تعداد میلیثانیههای سپری شده از نیمهشب، در تاریخ ۱ ژانویه ۱۹۷۰ به وقت جهانی است. | جریان پست کلاینت |
client.sent.start.time | رشته | فقط خواندنی | زمانی که ProxyEndpoint شروع به بازگرداندن پاسخ به برنامه کلاینت مبدا میکند، به صورت رشتهای بیان میشود. برای مثال، "چهارشنبه، ۲۱ آگوست ۲۰۱۳، ساعت ۱۹:۱۶:۴۷ به وقت جهانی". این مقدار، نمایش رشتهای از | جریان پست کلاینت |
client.sent.start.timestamp | بلند | فقط خواندنی | چه زمانی پروکسی شروع به ارسال پاسخ به کلاینت از ProxyEndpoint میکند. این مقدار به صورت یک عدد صحیح ۶۴ بیتی (طولانی) بیان میشود که شامل تعداد میلیثانیههای سپری شده از نیمهشب، در تاریخ ۱ ژانویه ۱۹۷۰ به وقت جهانی است. | جریان پست کلاینت |
client.ssl.enabled | رشته | فقط خواندنی | اگر ProxyEndpoint برای TLS/SSL پیکربندی شده باشد، "true" و در غیر این صورت "false" خواهد بود. | درخواست پروکسی |
client.state | رشته | فقط خواندنی | وضعیت موجود در گواهی TLS/SSL ارائه شده توسط کلاینت. | درخواست پروکسی |
current
حاوی اطلاعاتی در مورد جریان پروکسی API فعلی است.
جدول زیر ویژگیهای متغیر current را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
current.flow.name | رشته | فقط خواندنی | نام جریانی که در حال حاضر در حال اجرا است (مانند "PreFlow"، "PostFlow" یا نام یک جریان شرطی). | درخواست پروکسی |
current.flow.description | رشته | فقط خواندنی | شرح جریان در حال اجرا. این همان مقدار عنصر <Description> در پیکربندی XML جریان است. | درخواست پروکسی |
شما میتوانید این ویژگیها را در نمای Trace رابط کاربری Edge مشاهده کنید. با این حال، این ویژگیها به طور پیشفرض در نمای Trace رابط کاربری Classic قابل مشاهده نیستند.
environment
یک ظرف برای ویژگی environment.name .
جدول زیر ویژگیهای متغیر environment را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
environment.name | رشته | فقط خواندنی | نام محیطی که تراکنش در آن اجرا شده است. | درخواست پروکسی |
error
یک شیء زمینهای که یک پیام خطا را در جریان خطا نشان میدهد.
جدول زیر ویژگیهای متغیر error را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
error | message | خواندن/نوشتن | خطایی از نوع message که یک شیء زمینهای در جریان خطا است. | خطا |
error.content | رشته | خواندن/نوشتن | محتوای خطا. | خطا |
error.message | رشته | فقط خواندنی | پیامی مرتبط با یک خطا که مقدار آن فقط قبل از اجرای جریان خطا در دسترس است. | خطا |
error.status.code | عدد صحیح | فقط خواندنی | کد وضعیت HTTP مرتبط با خطا. به عنوان مثال، "400". | خطا |
error.reason.phrase | رشته | فقط خواندنی | عبارت دلیل مرتبط با خطا. به عنوان مثال: "درخواست بد". | خطا |
error.transport.message | پیام حمل و نقل | فقط خواندنی | هر خطایی از نوع TransportMessage. | خطا |
error.state | عدد صحیح | فقط خواندنی | در Flow بیان کنید که در کجا خطایی رخ داده است. | خطا |
error.header. header_name | رشته | خواندن/نوشتن | هدر پاسخ را دریافت یا تنظیم کنید. | خطا |
fault
یک متغیر جریان که هنگام بروز خطا در یک سیاست، روی یک کد خطای زمان اجرا تنظیم میشود. مقادیر کد خطا برای هر سیاست خاص هستند.
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
fault. fault_name | رشته | فقط خواندنی | fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا که در هر مبحث مرجع سیاست گنجانده شده است، توضیح داده شده است. | خطا |
is
یک ظرف برای ویژگی is.error .
جدول زیر ویژگیهای متغیر is را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
is.error | بولی | فقط خواندنی | پرچم خطا. | درخواست پروکسی |
loadbalancing
اطلاعاتی در مورد وضعیت متعادلسازی بار TargetEndpoint ارائه میدهد.
جدول زیر ویژگیهای متغیر loadbalancing شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
loadbalancing.failedservers | آرایهای از رشتهها | فقط خواندنی | فهرست TargetServer های از کار افتاده در حین متعادل سازی بار در TargetEndpoint. | پاسخ هدف |
loadbalancing.isfallback | بولی | فقط خواندنی | اگر fallback برای TargetServer فراخوانی شده در طول متعادلسازی بار در TargetEndpoint فعال باشد، "true" میشود. | پاسخ هدف |
loadbalancing.targetserver | رشته | فقط خواندنی | TargetServer در حین متعادلسازی بار در TargetEndpoint فراخوانی میشود. فقط در صورتی تنظیم میشود که عنصر | پاسخ هدف |
message
یک شیء زمینهای، با همان مقدار request در جریان درخواست یا همان response در جریان پاسخ یا همان error در جریان خطا.
جدول زیر ویژگیهای متغیر message را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
message | message | خواندن/نوشتن | یک شیء زمینهای، با همان مقدار | درخواست پروکسی |
message.content | رشته | خواندن/نوشتن | محتوای درخواست، پاسخ یا پیام خطا. | درخواست پروکسی |
message.formparam. param_name | رشته | خواندن/نوشتن | مقدار پارامتر فرم مشخص شده. | درخواست پروکسی |
message.formparam. param_name . | مجموعه | فقط خواندنی | تمام مقادیر پارامتر فرم مشخص شده در پیام. | درخواست پروکسی |
message.formparam. param_name . | عدد صحیح | فقط خواندنی | تعداد مقادیر پارامترهای فرم مشخص شده در پیام./p> | درخواست پروکسی |
message.formparams.count | عدد صحیح | فقط خواندنی | تعداد تمام پارامترهای فرم در پیام. | درخواست پروکسی |
message.formparams.names | مجموعه | فقط خواندنی | مقدار تمام پارامترهای فرم در پیام. | درخواست پروکسی |
message.formstring | رشته | فقط خواندنی | مقدار رشتهی فرم در پیام. | درخواست پروکسی |
message.header. header_name | رشته | خواندن/نوشتن | مقدار هدر HTTP مشخص شده در پیام را دریافت یا تنظیم میکند. اگر هدر حاوی کاما باشد، هنگام خواندن، فقط بخش متن را تا اولین کاما دریافت خواهید کرد. اگر کل هدر را میخواهید، از فرم | درخواست پروکسی |
message.header. header_name . N | رشته | خواندن/نوشتن | مقدار Nامین مقدار هدر خاص در پیام، چه درخواست و چه پاسخ، بسته به وضعیت جریان. Apigee Edge مقادیر متن هدر را با کاما جدا میکند. توجه داشته باشید که اندیسی که مقدار آن برای N استفاده میشود، مبتنی بر ۱ است، نه مبتنی بر ۰. برای مثال: اگر هدر | درخواست پروکسی |
message.header. header_name . | مجموعه | فقط خواندنی | تمام مقادیر نام هدر HTTP مشخص شده در پیام. | درخواست پروکسی |
message.header. header_name . | عدد صحیح | فقط خواندنی | تعداد مقادیر نام هدر HTTP مشخص شده در پیام. | درخواست پروکسی |
message.headers.count | عدد صحیح | فقط خواندنی | تعداد تمام هدرهای HTTP موجود در پیام. | درخواست پروکسی |
message.headers.names | مجموعه | فقط خواندنی | مقدار تمام هدرهای HTTP در پیام | درخواست پروکسی |
message.path | رشته | خواندن/نوشتن | مسیر کامل پیام درخواست در URL، بدون در نظر گرفتن پارامترهای پرس و جو. | درخواست پروکسی |
message.queryparam. param_name | رشته | فقط خواندنی | پارامتر پرس و جوی پیام مشخص شده را برمیگرداند. | درخواست پروکسی |
message.queryparam. param_name . N | رشته | خواندن/نوشتن | مقدار پارامتر پرس و جوی N ام در پیام. برای مثال، اگر به عنوان مثالی از نوشتن چندین مقدار برای یک نام پارامتر پرس و جو، مانند "type=siteid:1&type=language:us-en&type=currency:USD"، موارد زیر را تنظیم کنید:
| درخواست پروکسی |
message.queryparam. param_name . | مجموعه | فقط خواندنی | تمام مقادیر یک پارامتر پرسوجوی خاص در پیام، که به صورت لیستی از هم جدا شده با کاما قالببندی شدهاند. برای مثال، اگر رشتهی پرسوجو | درخواست پروکسی |
message.queryparam. param_name . | عدد صحیح | فقط خواندنی | تعداد کل یک پارامتر پرس و جوی مشخص شده مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه کلاینت. | درخواست پروکسی |
message.queryparams.count | عدد صحیح | فقط خواندنی | تعداد کل پارامترهای کوئری مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه کلاینت. | درخواست پروکسی |
message.queryparams.names | مجموعه | فقط خواندنی | فهرستی از تمام نامهای پارامترهای پرسوجو مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامهی کلاینت. برای پیمایش روی نام پارامترهای پرسوجو با استفاده از جاوااسکریپت، به پست زیر در انجمن Apigee با عنوان « چگونه میتوان در JS روی Collection از «request.queryparams.names» پیمایش کرد؟» در انجمن Apigee مراجعه کنید. | درخواست پروکسی |
message.querystring | رشته | فقط خواندنی | رشتهای شامل تمام نامها و مقادیر پارامترهای پرسوجو که با درخواست ارسالی به ProxyEndpoint از برنامهی کلاینت مرتبط هستند. برای مثال، برای درخواست "http://api.apifactory.com/inventors?name=nick&surname=danger"، مقدار | درخواست پروکسی |
message.reason.phrase | رشته | فقط خواندنی | عبارت دلیل پیام پاسخ از هدف. | پاسخ هدف |
message.status.code | عدد صحیح | فقط خواندنی | کد وضعیت HTTP مربوط به پیام پاسخ از مقصد. | پاسخ هدف |
message.transport.message | پیام حمل و نقل | فقط خواندنی | پیامی از نوع TransportMessage که یک شیء زمینهای است. | درخواست پروکسی |
message.uri | رشته | فقط خواندنی | مسیر کامل URI (بعد از URL دامنه) شامل پارامترهای پرس و جو. برای مثال، برای درخواست "http://api.apifactory.com/inventors?name=nikola&surname=tesla"، این متغیر "inventors?name=nikola&surname=tesla" را برمیگرداند. | درخواست پروکسی |
message.verb | رشته | فقط خواندنی | فعل HTTP ( | درخواست پروکسی |
message.version | رشته | خواندن/نوشتن | نسخه HTTP مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه کلاینت. | درخواست پروکسی |
برای اطلاعات بیشتر در مورد پیامها، به مرجع تابع الگوی پیام مراجعه کنید.
messageid
یک ظرف برای شناسه منحصر به فرد سراسری برای درخواست.
جدول زیر ویژگیهای متغیر messageid را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
messageid | رشته | فقط خواندنی | شناسه منحصر به فرد جهانی برای درخواست را نگه میدارد، که شامل نام میزبان روتر است. این شناسه اجازه میدهد تا درخواستهای دریافتی در روتر پس از ارسال به پردازنده پیام، ردیابی شوند. این شناسه در گزارشهای خطای Edge ثبت میشود تا | درخواست پروکسی |
organization
یک ظرف برای ویژگی organization.name .
جدول زیر ویژگیهای متغیر organization را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
organization.name | رشته | فقط خواندنی | نام سازمان. | درخواست پروکسی |
برای اطلاعات بیشتر در مورد سازمانها، به بخش «درک سازمانها» مراجعه کنید.
proxy
پیکربندی پروکسی API.
جدول زیر ویژگیهای متغیر proxy را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
proxy.basepath | رشته | فقط خواندنی | مقدار مسیر پایه (Base Path) در پیکربندی پروکسی API شما. مسیر پایه، قطعه URI است که پس از میزبان در URL قرار میگیرد. URI های جریان شرطی (Conditional flow URIs) از مسیر پایه پیروی میکنند. در آدرس اینترنتی "http://myorg-test.apigee.net /v2/weatherapi /forecastrss?w=12797282":
تنها راهی که میتوانید این را بفهمید، نگاه کردن به تعریف پروکسی API یا بررسی مقدار متغیر proxy.basepath است. پسوند مسیر پروکسی، مسیر پایه ("/forecastrss") را به همراه هر پارامتر پرس و جو دنبال میکند. اگر در پیکربندی پروکسی API خود یک مسیر پایه پویا مانند "/v2/*/weatherapi" تعریف کنید، این متغیر روی مسیر پویا ("/v2/*/weatherapi") تنظیم میشود، حتی اگر مسیر پایه به یک مقدار استاتیک مانند "/v2/foo/weatherapi" تبدیل شود. | درخواست پروکسی |
proxy.client.ip | رشته | فقط خواندنی | آدرس | درخواست پروکسی |
proxy.name | رشته | فقط خواندنی | ویژگی نام برای ProxyEndpoint پیکربندی شده است. | درخواست پروکسی |
proxy.pathsuffix | رشته | فقط خواندنی | مقدار پسوند مسیر پایه پروکسی API که از کلاینت ارسال و در ProxyEndpoint دریافت میشود. مسیر پایه به عنوان مؤلفه مسیری تعریف میشود که به طور منحصر به فرد پروکسی API را شناسایی میکند. URL عمومی یک پروکسی API شامل نام سازمان شما، محیطی که پروکسی در آن مستقر است، مسیر پایه، پسوند مسیر پایه و هر پارامتر پرس و جو است. برای مثال، در درخواستی به آدرس | درخواست پروکسی |
proxy.url | رشته | فقط خواندنی | URL کامل مرتبط با درخواست پروکسی دریافت شده توسط ProxyEndpoint، شامل هر پارامتر پرس و جوی موجود را دریافت میکند. اگر پروکسی با برای مثالی که یک URL | درخواست پروکسی |
برای اطلاعات بیشتر در مورد کار با پروکسیهای API، به بخش «درک APIها و پروکسیهای API» مراجعه کنید.
ratelimit
وقتی یک سیاست Quota یا SpikeArrest اجرا میشود، پر میشود.
جدول زیر ویژگیهای متغیر ratelimit را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
| policy_name .allowed.count | بلند | فقط خواندنی | تعداد سهمیه مجاز را برمیگرداند. | جریان پست کلاینت |
| policy_name .used.count | بلند | فقط خواندنی | سهمیه فعلی استفاده شده در یک بازه سهمیه را برمیگرداند. | جریان پست کلاینت |
| policy_name .available.count | بلند | فقط خواندنی | تعداد سهمیه موجود در بازه سهمیه را برمیگرداند. | جریان پست کلاینت |
| policy_name .exceed.count | بلند | فقط خواندنی | پس از عبور از سهمیه، عدد ۱ را برمیگرداند. | جریان پست کلاینت |
| policy_name .total.exceed.count | بلند | فقط خواندنی | پس از عبور از سهمیه، عدد ۱ را برمیگرداند. | جریان پست کلاینت |
| محدودیت policy_name انقضا | بلند | فقط خواندنی | زمان UTC (برحسب میلیثانیه) را برمیگرداند، که تعیین میکند سهمیه چه زمانی منقضی میشود و بازه سهمیه جدید چه زمانی شروع میشود. وقتی نوع سیاست سهمیهبندی | جریان پست کلاینت |
| policy_name | رشته | فقط خواندنی | مرجع شناسه (کلاینت) متصل به سیاست را برمیگرداند. | جریان پست کلاینت |
| ratelimit.policy_name .class.allowed.count policy_name ) | بلند | فقط خواندنی | تعداد سهمیه مجاز تعریف شده در کلاس را برمیگرداند. | جریان پست کلاینت |
| ratelimit.policy_name .class.used.count ( policy_name استفاده از کلاس) | بلند | فقط خواندنی | سهمیه استفاده شده در یک کلاس را برمیگرداند. | جریان پست کلاینت |
| policy_name .class.available.count مقدار در دسترس | بلند | فقط خواندنی | تعداد سهمیههای موجود در کلاس را برمیگرداند. | جریان پست کلاینت |
| ratelimit.policy_name .class.exceed.count مقدار policy_name | بلند | فقط خواندنی | تعداد درخواستهایی را که از حد مجاز کلاس در بازه سهمیه فعلی تجاوز میکنند، برمیگرداند. | جریان پست کلاینت |
| policy_name .class.total.exceed.count مقدار کل تجاوز شده از تعداد کل | بلند | فقط خواندنی | تعداد کل درخواستهایی را که از حد مجاز کلاس در تمام بازههای سهمیه تجاوز میکنند، برمیگرداند، بنابراین مجموع class.exceed.count برای تمام بازههای سهمیه است. | جریان پست کلاینت |
| محدودیت نرخ.نام_سیاست.نام policy_name ناموفق | بولی | فقط خواندنی | نشان میدهد که آیا سیاست شکست خورده است یا خیر (درست یا نادرست). | جریان پست کلاینت |
برای اطلاعات بیشتر، به موارد زیر مراجعه کنید:
request
درخواست کامل، شامل هرگونه بار دادهای که وجود دارد.
برای اطلاعات بیشتر در مورد دادههای درخواست، به بخش «چگونه دادههای درخواست به سرور backend ارسال میشوند؟» مراجعه کنید.
جدول زیر ویژگیهای متغیر request را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
request | message | فقط خواندنی | درخواست کامل، شامل هرگونه بار دادهای که وجود دارد. | درخواست پروکسی |
request.content | رشته | خواندن/نوشتن | مقدار بار (payload) پیام درخواست را دریافت یا تنظیم میکند. | درخواست پروکسی |
request.formparam. param_name | رشته | خواندن/نوشتن | مقدار پارامتر فرم مشخص شده در درخواست ارسالی از برنامه کلاینت را دریافت یا تنظیم میکند. | درخواست پروکسی |
request.formparam. param_name . | مجموعه | فقط خواندنی | تمام مقادیر یک پارامتر فرم خاص در درخواست، که به صورت لیستی با کاما از هم جدا شدهاند. برای مثال، اگر مقدار payload برابر با "a=hello&x=greeting&a=world" باشد، مقدار | درخواست پروکسی |
request.formparam. param_name . | عدد صحیح | فقط خواندنی | تعداد تمام مقادیر برای پارامتر فرم مشخص شده مرتبط با درخواست. | درخواست پروکسی |
request.formparam. param_name . N | رشته | خواندن/نوشتن | مقدار پارامتر فرم Nام خاص در پیام. برای مثال، اگر رشته فرم "a=hello&a=world" باشد، مقدار بازگشتی | درخواست پروکسی |
request.formparams.count | عدد صحیح | فقط خواندنی | تعداد تمام پارامترهای فرم مرتبط با درخواست ارسال شده از برنامه کلاینت. | درخواست پروکسی |
request.formparams.names | مجموعه | فقط خواندنی | فهرستی از نام تمام پارامترهای فرم مرتبط با درخواست. | درخواست پروکسی |
request.formstring | رشته | فقط خواندنی | برای مثال، "نام=آزمون و نوع=اول و گروه=الف". | درخواست پروکسی |
request.header. header_name | رشته | خواندن/نوشتن | مقدار یک هدر خاص که در درخواست یافت میشود را دریافت یا تنظیم میکند. اگر هدر حاوی کاما باشد، هنگام خواندن، فقط بخش متن را تا اولین کاما دریافت خواهید کرد. اگر کل هدر را میخواهید، از فرم | درخواست پروکسی |
request.header. header_name . N | رشته | خواندن/نوشتن | مقدار Nامین مقدار هدر خاص در درخواست. Apigee Edge مقادیر متن هدر را با کاما جدا میکند. توجه داشته باشید که اندیسی که مقدار آن برای N استفاده میشود مبتنی بر ۱ است، نه مبتنی بر ۰. برای مثال، اگر هدر | درخواست پروکسی |
request.header. header_name . | مجموعه | فقط خواندنی | تمام مقادیر یک هدر خاص در درخواست. | درخواست پروکسی |
request.header. header_name . | عدد صحیح | فقط خواندنی | تعداد تمام مقادیر یک هدر خاص در درخواست. | درخواست پروکسی |
request.headers.count | عدد صحیح | فقط خواندنی | تعداد تمام هدرهای موجود در درخواست. | درخواست پروکسی |
request.headers.names | مجموعه | فقط خواندنی | نام تمام هدرهای موجود در درخواست. | درخواست پروکسی |
request.path | رشته | فقط خواندنی | مسیر منبع غیر پروکسی (بدون احتساب میزبان) به سرویس backend، به استثنای پارامترهای پرس و جو. برای مثال، اگر آدرس اینترنتی (URI) سرویس backend به صورت "https://example.com/rest/api/latest" باشد، مقدار | درخواست پروکسی |
request.queryparam. param_name | رشته | خواندن/نوشتن | مقدار یک پارامتر پرسوجوی خاص که در درخواست یافت شده است. | درخواست پروکسی |
request.queryparam. param_name . N | رشته | خواندن/نوشتن | مقدار پارامتر پرس و جوی N ام در درخواست. برای مثال، اگر به عنوان مثالی از نوشتن چندین مقدار برای یک نام پارامتر پرس و جو، مانند "type=siteid:1&type=language:us-en&type=currency:USD"، موارد زیر را تنظیم کنید:
| درخواست پروکسی |
request.queryparam. param_name . | مجموعه | فقط خواندنی | تمام مقادیر یک پارامتر پرسوجوی خاص در درخواست، که به صورت لیستی با کاما از هم جدا شدهاند. برای مثال، اگر | درخواست پروکسی |
request.queryparam. param_name . | عدد صحیح | فقط خواندنی | تعداد تمام مقادیر یک پارامتر پرسوجوی خاص در درخواست. | درخواست پروکسی |
request.queryparams.count | عدد صحیح | فقط خواندنی | تعداد تمام پارامترهای پرس و جو در درخواست. | درخواست پروکسی |
request.queryparams.names | مجموعه | فقط خواندنی | نام تمام پارامترهای پرس و جو در درخواست. برای پیمایش روی نام پارامترهای پرسوجو با استفاده از جاوااسکریپت، به بخش «چگونه میتوان در JS روی مجموعه "request.queryparams.names" پیمایش انجام داد؟» در انجمن Apigee مراجعه کنید. | درخواست پروکسی |
request.querystring | رشته | فقط خواندنی | لیست کامل پارامترهای پرس و جو در درخواست ارسال شده از برنامه کلاینت. برای مثال، اگر درخواست "http://host.com/123?name=first&surname=second&place=address" باشد، این متغیر "name=first&surname=second&place=address" را برمیگرداند. | درخواست پروکسی |
request.transportid | رشته | فقط خواندنی | شناسه درخواست از نوع TransportMessage که یک شیء زمینهای است. | درخواست پروکسی |
request.transport.message | پیام حمل و نقل | فقط خواندنی | درخواستی از نوع TransportMessage که یک شیء متنی است. | درخواست پروکسی |
request.uri | رشته | فقط خواندنی | در یک پروکسی API، پروکسی امتیاز به در درخواست ، در پاسخ ، تفاوت این است که درخواست اصلی به پروکسی ارسال شده است، اما سپس پروکسی درخواست دیگری را به سرویس هدف ارسال میکند. فرض کنید فراخوانی زیر به پروکسی نمونه ما انجام میشود که مسیر پایه آن "/my-mock-proxy" است: و پروکسی تماس میگیرد: که عبارت "/user?user=Dude" را به آن URL اضافه میکند.
| درخواست پروکسی (در پاسخ متفاوت است) |
request.url | رشته | فقط خواندنی | آدرس اینترنتی (URL) کامل درخواست ارسال شده به نقطه پایانی هدف، شامل پارامترهای رشته پرس و جو، اما بدون شماره پورت (در صورت مشخص شدن). برای مثال، اگر شما یک پروکسی نمونه "http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude" را فراخوانی کنید، و نقطه پایانی هدف "http://example.com:8080" باشد، آنگاه مقدار به صورت زیر خواهد بود:
| پاسخ هدف |
request.verb | رشته | فقط خواندنی | فعل HTTP مورد استفاده برای درخواست. برای مثال، "GET"، "PUT" و "DELETE". | درخواست پروکسی |
request.version | رشته | فقط خواندنی | نسخه HTTP درخواست. برای مثال، "1.1". | درخواست پروکسی |
response
پاسخ کامل، شامل هرگونه بار دادهای که وجود دارد.
جدول زیر ویژگیهای متغیر response را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
response | message | خواندن/نوشتن | پیام پاسخ کامل برگردانده شده توسط هدف. | پاسخ هدف |
response.content | رشته | خواندن/نوشتن | محتوای بار مفید پیام پاسخی که توسط هدف برگردانده میشود. | پاسخ هدف |
response.formparam. param_name | رشته | خواندن/نوشتن | مقدار یک پارامتر فرم در پاسخ. | پاسخ هدف |
response.formparam. param_name . | عدد صحیح | فقط خواندنی | تعداد تمام مقادیر پارامتر فرم مشخص شده در پاسخ را بشمارید. | پاسخ هدف |
response.formparams.count | عدد صحیح | فقط خواندنی | تعداد تمام پارامترهای فرم در پاسخ. | پاسخ هدف |
response.formparams.names | مجموعه | فقط خواندنی | نام تمام پارامترهای فرم در پاسخ. | پاسخ هدف |
response.header. header_name | رشته | خواندن/نوشتن | مقدار یک هدر HTTP مشخص شده در پاسخ را دریافت یا تنظیم میکند. اگر متن هدر شامل کاما باشد، Apigee Edge چندین مقدار را استنباط میکند. در این حالت، برای خواندن کل هدر، از فرم | پاسخ هدف |
response.header. header_name . | مجموعه | فقط خواندنی | تمام مقادیر یک هدر HTTP مشخص شده در پاسخ. | پاسخ هدف |
response.header. header_name . | عدد صحیح | فقط خواندنی | تعداد تمام مقادیر هدر HTTP مشخص شده در پاسخ را بشمارید. | پاسخ هدف |
response.header. header_name . N | رشته | خواندن/نوشتن | مقدار Nامین مقدار هدر خاص در پاسخ. Apigee Edge مقادیر متن هدر را با کاما جدا میکند. توجه داشته باشید که اندیسی که مقدار آن برای N استفاده میشود مبتنی بر ۱ است، نه مبتنی بر ۰. برای مثال، اگر هدر | پاسخ هدف |
response.headers.count | عدد صحیح | فقط خواندنی | تعداد تمام هدرهای موجود در پاسخ. | پاسخ هدف |
response.headers.names | مجموعه | فقط خواندنی | نام تمام هدرهای موجود در پاسخ. | پاسخ هدف |
response.reason.phrase | رشته | خواندن/نوشتن | عبارت دلیل پاسخ برای یک درخواست خاص. | پاسخ هدف |
response.status.code | عدد صحیح | خواندن/نوشتن | کد پاسخی که برای یک درخواست برگردانده شده است. میتوانید از این متغیر برای لغو کد وضعیت پاسخ که در | پاسخ هدف |
response.transport.message | رشته | فقط خواندنی | پاسخی از نوع TransportMessage که یک شیء متنی است. | پاسخ هدف |
route
نامهای <RouteRule> و TargetEndpoint را مشخص میکند.
جدول زیر ویژگیهای متغیر route را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
route.name | رشته | فقط خواندنی | نام | درخواست هدف |
route.target | رشته | فقط خواندنی | نام TargetEndpoint که اجرا شده است. برای مثال، "default". | درخواست هدف |
router
یک ظرف برای ویژگی router.uuid که منسوخ شده است.
جدول زیر ویژگیهای متغیر router را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
router.uuid | رشته | فقط خواندنی | منسوخ شده و مقدار null را برمیگرداند. (قبلاً UUID روتری بود که پروکسی را مدیریت میکرد.) | درخواست پروکسی |
servicecallout
نقطه هدف (TargetEndpoint) را برای یک سیاست ServiceCallout توصیف میکند.
جدول زیر ویژگیهای متغیر servicecallout را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
servicecallout. policy_name .expectedcn | رشته | خواندن/نوشتن | نام مشترک مورد انتظار TargetEndpoint که در سیاست ServiceCallout به آن اشاره شده است. این تنها زمانی معنیدار است که TargetEndpoint به یک نقطه پایانی TLS/SSL اشاره کند. | درخواست پروکسی |
servicecallout. policy_name .target.url | رشته | خواندن/نوشتن | URL مربوط به TargetEndpoint برای یک سیاست ServiceCallout خاص. | درخواست پروکسی |
servicecallout.requesturi | رشته | خواندن/نوشتن | URI مربوط به TargetEndpoint برای یک سیاست ServiceCallout . این URI، URL مربوط به TargetEndpoint بدون مشخصات پروتکل و دامنه است. | درخواست پروکسی |
system
آدرس IP سیستم و همچنین جزئیات مربوط به پروکسی را مشخص میکند.
جدول زیر ویژگیهای متغیر system را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
system.interface. interface_name | رشته | فقط خواندنی | آدرس IP سیستم. | درخواست پروکسی |
system.pod.name | رشته | فقط خواندنی | نام پادی که پروکسی در آن اجرا میشود. | درخواست پروکسی |
system.region.name | رشته | فقط خواندنی | نام منطقه مرکز دادهای که پروکسی در آن اجرا میشود. | درخواست پروکسی |
system.time | رشته | فقط خواندنی | زمانی که این متغیر خوانده شده است. برای مثال، "چهارشنبه، ۲۱ آگوست ۲۰۱۳ ساعت ۱۹:۱۶:۴۷ به وقت جهانی". این مقدار، نمایش رشتهای مقدار متناظر | درخواست پروکسی |
system.time.year | عدد صحیح | فقط خواندنی | بخش سال از | درخواست پروکسی |
system.time.month | عدد صحیح | فقط خواندنی | بخش ماه از | درخواست پروکسی |
system.time.day | عدد صحیح | فقط خواندنی | بخش روز ماه از | درخواست پروکسی |
system.time.dayofweek | عدد صحیح | فقط خواندنی | بخش مربوط به روز هفته از | درخواست پروکسی |
system.time.hour | عدد صحیح | فقط خواندنی | بخش ساعت از | درخواست پروکسی |
system.time.minute | عدد صحیح | فقط خواندنی | بخش دقیقهای از | درخواست پروکسی |
system.time.second | عدد صحیح | فقط خواندنی | بخش دوم | درخواست پروکسی |
system.time.millisecond | عدد صحیح | فقط خواندنی | بخش میلیثانیه از | درخواست پروکسی |
system.time.zone | رشته | فقط خواندنی | منطقه زمانی سیستم. | درخواست پروکسی |
system.timestamp | بلند | فقط خواندنی | عدد صحیح ۶۴ بیتی (طولانی) که زمان خوانده شدن این متغیر را نشان میدهد. مقدار آن تعداد میلیثانیههای سپری شده از نیمهشب، در ۱ ژانویه ۱۹۷۰ به وقت جهانی است. برای مثال، "۱۵۳۴۷۸۳۰۱۵۰۰۰". | درخواست پروکسی |
system.uuid | رشته | فقط خواندنی | UUID پردازندهی پیامی که پروکسی را مدیریت میکند. | درخواست پروکسی |
target
هدف درخواست را توصیف میکند.
جدول زیر ویژگیهای متغیر target را شرح میدهد:
| ملک | نوع | خواندن/نوشتن | توضیحات | محدوده شروع میشود |
|---|---|---|---|---|
target.basepath | رشته | فقط خواندنی | مسیر منبع (به جز دامنه) به سرویس هدف، به استثنای پارامترهای پرس و جو، که در TargetEndpoint پروکسی تعریف شده است. برای مثال، فرض کنید یک پروکسی API هدف زیر را فراخوانی میکند: در این مثال، اگر هدف این بود: | درخواست هدف |
target.copy.pathsuffix | بولی | خواندن/نوشتن | When "true", the request forwarded from ProxyEndpoint to TargetEndpoint retains the path suffix (the URI path fragment following the URI defined in the ProxyEndpoint base path). | Target request |
target.copy.queryparams | بولی | Read/Write | When "true", request forwarded from ProxyEndpoint to TargetEndpoint retains query parameters. | Target request |
target.country | رشته | فقط خواندنی | Country of the TLS/SSL certificate presented by the target server | Target response |
target.cn | رشته | فقط خواندنی | The Common Name of the TargetEndpoint. This is meaningful only when the TargetEndpoint refers to a TLS/SSL endpoint. | Target request |
target.email.address | رشته | فقط خواندنی | Email address of the TLS/SSL certificate presented by the target server | Target response |
target.expectedcn | رشته | Read/Write | The expected Common Name of the TargetEndpoint. This is meaningful only when the TargetEndpoint refers to a TLS/SSL endpoint. | Proxy request |
target.host | رشته | فقط خواندنی | The domain name of the target service returning the response to the API proxy. | Target response |
target.ip | رشته | فقط خواندنی | The IP address of the target service returning the response to the API proxy. | Target response |
target.locality | رشته | فقط خواندنی | Locality (city) of the TLS/SSL certificate presented by the target server | Target response |
target.name | رشته | فقط خواندنی | Target to which message is reaching from targetendpoint. | Target request |
target.organization | رشته | فقط خواندنی | Organization of the TLS/SSL certificate presented by the target server. | Target response |
target.organization.unit | رشته | فقط خواندنی | Organization unit of the TLS/SSL certificate presented by the target server. | Target response |
target.port | عدد صحیح | فقط خواندنی | The port number of the target service returning the response to the API proxy. | Target response |
target.received.end.time | رشته | فقط خواندنی | The time, expressed in string form, at which the TargetEndpoint finished receiving the response from the target. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413".. | Target response |
target.received.end. | بلند | فقط خواندنی | The timestamp value specifying when the TargetEndpoint finished receiving the response from the target. For example, "1534783015000". This value is a 64-bit (long) integer specifying the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target response |
target.received.start.time | رشته | فقط خواندنی | The time, expressed in string form, at which the TargetEndpoint started receiving the response from the target. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413". | Target response |
target.received.start. | بلند | فقط خواندنی | The timestamp value specifying when the TargetEndpoint started receiving the response from the target. For example, "1534783015000". This value is a 64-bit (long) integer specifying the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target response |
target.scheme | رشته | فقط خواندنی | Scope begins : Target response Returns http or https depending on the request message. | Target request |
target.sent.end.time | رشته | فقط خواندنی | The time, expressed in string form, at which the proxy stopped sending the request to the URL specified in the TargetEndpoint. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413". | Target request |
target.sent.end.timestamp | بلند | فقط خواندنی | The timestamp value specifying when the proxy finished sending the request to the URL specified in the TargetEndpoint. For example, "1377112607413". This value is a 64-bit (long) integer containing the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target request |
target.sent.start.time | رشته | Read only | The time, expressed in string form, at which the proxy began sending the request to the URL specified in the TargetEndpoint. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413". | Target request |
target.sent.start.timestamp | بلند | فقط خواندنی | The timestamp value specifying when the proxy started sending the request to the URL specified in the TargetEndpoint. For example, "1534783015000". This value is a 64-bit (long) integer specifying the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target request |
target.ssl.enabled | بولی | Read only | Whether TargetEndpoint is running on TLS/SSL. | Proxy request |
target.state | رشته | Read only | State of the TLS/SSL certificate presented by the target server. | Target response |
target.url | رشته | Read/Write | The URL configured in the TargetEndpoint XML file or the dynamic target URL (if | Target request |
variable
A container for the variable.expectedcn property.
The following table describes the properties of the variable variable:
| ملک | نوع | Read/Write | توضیحات | Scope begins |
|---|---|---|---|---|
variable.expectedcn | رشته | Read/Write | Variable exposed for the common name if it's running on TLS/SSL. | Proxy request |
For more information on working with TLS, see the TLS/SSL introduction .
virtualhost
Specifies details about the virtual host.
The following table describes the properties of the virtualhost variable:
| ملک | نوع | Read/Write | توضیحات | Scope begins |
|---|---|---|---|---|
virtualhost.aliases.values | Array of Strings | Read only | Host aliases of the virtual host that is hit during a particular request. | Proxy request |
virtualhost.name | رشته | فقط خواندنی | Name of the virtual host that serves the originating client request. | Proxy request |
virtualhost.ssl.enabled | بولی | Read only | Returns "true" if TLS/SSL is enabled in the virtual host configuration. | Proxy request |
For more information on working with virtual hosts, see Configuring virtual hosts .
