مرجع متغیرهای جریان

شما در حال مشاهده اسناد Apigee Edge هستید.
مشاهده مستندات Apigee X.

این بخش اطلاعات مرجع در مورد متغیرهای جریان را ارائه می دهد.

Apigee Edge متغیرهای جریان زیر را تعریف می کند:

apigee              loadbalancing        router
apiproxy            message              servicecallout
application         messageid            system
client              organization         target
current             proxy                variable
environment         request              virtualhost
error               response
is                  route

هر یک از این متغیرها در بخش های بعدی توضیح داده شده است.

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 به پایان رساند. به عنوان مثال: Wed, 21 Aug 2013 19:16:47 UTC.

این مقدار زمانی نمایش رشته ای از مقدار زمان 32 بیتی مربوطه است. به عنوان مثال، «چهارشنبه، 21 اوت 2013، 19:16:47 UTC» با مقدار مهر زمانی 1377112607413 مطابقت دارد.

درخواست پروکسی
client.received.end.timestamp طولانی فقط خواندنی

مقدار مهر زمانی که مشخص می‌کند پروکسی چه زمانی درخواست را از مشتری اصلی در ProxyEndpoint دریافت کرد. این مقدار یک عدد صحیح 64 بیتی (طولانی) است که حاوی تعداد میلی ثانیه های سپری شده از نیمه شب، در 1 ژانویه 1970 UTC است.

درخواست پروکسی
client.received.start.time رشته فقط خواندنی

زمانی که به صورت رشته ای بیان می شود، که در آن پروکسی شروع به دریافت درخواست از مشتری مبدا در ProxyEndpoint کرد. به عنوان مثال: Wed, 21 Aug 2013 19:16:47 UTC

این مقدار زمانی نمایش رشته ای از مقدار زمان 32 بیتی مربوطه است. به عنوان مثال، «چهارشنبه، 21 اوت 2013، 19:16:47 UTC» با مقدار مهر زمانی 1377112607413 مطابقت دارد.

درخواست پروکسی
client.received.start.timestamp طولانی فقط خواندنی

مقدار مهر زمانی که مشخص می‌کند پروکسی چه زمانی درخواست را از مشتری اصلی در ProxyEndpoint دریافت کرد. این مقدار یک عدد صحیح 64 بیتی (طولانی) است که حاوی تعداد میلی ثانیه های سپری شده از نیمه شب، در 1 ژانویه 1970 UTC است.

درخواست پروکسی
client.scheme رشته فقط خواندنی

بسته به حمل و نقلی که برنامه مشتری برای ارسال پیام درخواست استفاده می کند، http یا https را برمی گرداند.

درخواست پروکسی
client.sent.end.time رشته فقط خواندنی

زمانی که به صورت رشته ای بیان می شود، که در آن پروکسی ارسال پاسخ را از ProxyEndpoint به مشتری تمام کرد. به عنوان مثال: "Wed, 21 Aug 2013 19:16:47 UTC".

این مقدار یک نمایش رشته ای از client.sent.end.timestamp 32 بیتی مربوطه است. به عنوان مثال، "Wed, 21 Aug 2013 19:16:47 UTC" با مقدار مهر زمانی 1377112607413 مطابقت دارد.

PostClientFlow
client.sent.end.timestamp طولانی فقط خواندنی مقدار مهر زمانی که مشخص می‌کند ProxyEndpoint چه زمانی پاسخ را به برنامه مشتری اصلی بازگرداند. این مقدار یک عدد صحیح 64 بیتی (طولانی) است که حاوی تعداد میلی ثانیه های سپری شده از نیمه شب، در 1 ژانویه 1970 UTC است. PostClientFlow
client.sent.start.time رشته فقط خواندنی زمانی که به صورت رشته ای بیان می شود، زمانی که ProxyEndpoint شروع به بازگرداندن پاسخ به برنامه مشتری اصلی کرد. به عنوان مثال، "Wed, 21 Aug 2013 19:16:47 UTC".

این مقدار یک نمایش رشته ای از client.sent.start.timestamp 32 بیتی مربوطه است. به عنوان مثال، "Wed, 21 Aug 2013 19:16:47 UTC" با مقدار مهر زمانی 1377112607413 مطابقت دارد.

PostClientFlow
client.sent.start.timestamp طولانی فقط خواندنی هنگامی که پروکسی شروع به ارسال پاسخ به مشتری از ProxyEndpoint کرد. این مقدار به عنوان یک عدد صحیح 64 بیتی (طولانی) حاوی تعداد میلی ثانیه های سپری شده از نیمه شب، در 1 ژانویه 1970 UTC بیان می شود. PostClientFlow
client.ssl.enabled رشته فقط خواندنی

"درست" اگر ProxyEndpoint برای TLS/SSL پیکربندی شده باشد. در غیر این صورت "کاذب".

درخواست پروکسی
client.state رشته فقط خواندنی

وضعیت موجود در گواهی TLS/SSL ارائه شده توسط مشتری.

درخواست پروکسی

current

حاوی اطلاعاتی در مورد جریان پراکسی API فعلی است.

جدول زیر ویژگی های متغیر current را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
current.flow.name رشته فقط خواندنی نام جریانی که در حال اجرا است (مانند "PreFlow"، "PostFlow"، یا نام یک جریان شرطی). درخواست پروکسی
current.flow.description رشته فقط خواندنی شرح جریان در حال اجرا. این همان مقدار عنصر <Description> در پیکربندی XML جریان است. درخواست پروکسی

می‌توانید این ویژگی‌ها را در نمای Trace UI Edge مشاهده کنید. با این حال، این ویژگی ها به طور پیش فرض در نمای Trace UI کلاسیک قابل مشاهده نیستند.

environment

محفظه ای برای ویژگی environment.name .

جدول زیر ویژگی های متغیر environment را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
environment.name رشته فقط خواندنی نام محیطی که تراکنش در آن انجام شد. درخواست پروکسی

error

یک شی متنی که نشان دهنده یک پیام خطا در جریان خطا است.

جدول زیر ویژگی های متغیر error را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
error message بخوان / بنویس خطای نوع message ، که یک شی متنی در جریان خطا است. خطا
error.content رشته بخوان / بنویس محتوای خطا خطا
error.message رشته فقط خواندنی

پیام مرتبط با یک خطا که مقدار آن فقط قبل از اجرای خطای Flow در دسترس است.

خطا
error.status.code عدد صحیح فقط خواندنی

کد وضعیت HTTP مرتبط با خطا. به عنوان مثال، "400".

خطا
error.reason.phrase رشته فقط خواندنی

عبارت دلیل مرتبط با خطا. به عنوان مثال: "درخواست بد".

خطا
error.transport.message پیام حمل و نقل فقط خواندنی

هر گونه خطا از نوع TransportMessage.

خطا
error.state عدد صحیح فقط خواندنی

محل وقوع خطا را در جریان بیان کنید.

خطا
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 بولی فقط خواندنی

"درست" اگر بازگشت مجدد برای TargetServer فراخوانی شده در طول متعادل سازی بار در TargetEndpoint فعال باشد.

پاسخ هدف
loadbalancing.targetserver رشته فقط خواندنی

TargetServer در هنگام تعادل بار در TargetEndpoint فراخوانی می شود. تنها در صورتی تنظیم کنید که عنصر <Path> هنگام تعریف عنصر متعادل کننده بار تنظیم شده باشد.

پاسخ هدف

message

یک شی متنی، با همان مقدار request در جریان درخواست یا به عنوان response در جریان پاسخ یا به عنوان error در جریان خطا.

جدول زیر ویژگی های متغیر message را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
message message بخوان / بنویس

یک شی متنی، با همان مقدار request در جریان درخواست یا به عنوان response در جریان پاسخ یا به عنوان error در جریان خطا.

درخواست پروکسی
message.content رشته بخوان / بنویس

محتوای درخواست، پاسخ یا پیام خطا.

درخواست پروکسی
message.formparam. param_name رشته بخوان / بنویس

مقدار پارامتر فرم مشخص شده.

درخواست پروکسی
message.formparam. param_name .
values
مجموعه فقط خواندنی

تمام مقادیر پارامتر فرم مشخص شده در پیام.

درخواست پروکسی
message.formparam. param_name .
values.count
عدد صحیح فقط خواندنی

شمارش مقادیر پارامترهای فرم مشخص شده در پیام./p>

درخواست پروکسی
message.formparams.count عدد صحیح فقط خواندنی

تعداد تمام پارامترهای فرم در پیام.

درخواست پروکسی
message.formparams.names مجموعه فقط خواندنی

مقدار تمام پارامترهای فرم در پیام.

درخواست پروکسی
message.formstring رشته فقط خواندنی

مقدار رشته فرم در پیام.

درخواست پروکسی
message.header. header_name رشته بخوان / بنویس

مقدار هدر HTTP مشخص شده را در پیام دریافت یا تنظیم می کند. اگر سرصفحه حاوی کاما باشد، پس از خواندن فقط قسمتی از متن را تا اولین کاما دریافت خواهید کرد. اگر کل هدر را می خواهید، از فرم request.header. header_name .
values

درخواست پروکسی
message.header. header_name . N رشته بخوان / بنویس

مقدار N امین مقدار هدر خاص در پیام، بسته به وضعیت جریان، درخواست یا پاسخ. Apigee Edge مقادیر متن سرصفحه را با کاما تقسیم می کند. توجه داشته باشید که شاخصی که مقدار آن برای N استفاده می شود، مبتنی بر 1 است، نه بر اساس 0.

به عنوان مثال: اگر هدر Cache-control "public,maxage=16544" باشد، مقدار بازگشتی message.header.cache-control.1 "maxage=16544" است.

درخواست پروکسی
message.header. header_name .
values
مجموعه فقط خواندنی

تمام مقادیر نام هدر HTTP مشخص شده در پیام.

درخواست پروکسی
message.header. header_name .
values.count
عدد صحیح فقط خواندنی

تعداد مقادیر نام هدر HTTP مشخص شده در پیام.

درخواست پروکسی
message.headers.count عدد صحیح فقط خواندنی

تعداد تمام هدرهای HTTP در پیام.

درخواست پروکسی
message.headers.names مجموعه فقط خواندنی

مقدار تمام هدرهای HTTP در پیام

درخواست پروکسی
message.path رشته بخوان / بنویس

مسیر پیام درخواست کامل در URL به استثنای هر گونه پارامتر پرس و جو.

درخواست پروکسی
message.queryparam. param_name رشته فقط خواندنی

پارامتر درخواست پیام مشخص شده را برمی گرداند.

درخواست پروکسی
message.queryparam. param_name . N رشته بخوان / بنویس

مقدار پارامتر پرس و جوی N در پیام. برای مثال، اگر request.querystring "a=hello&a=world" باشد، مقدار بازگشتی message.queryparam.a.1 "hello" است.

به عنوان مثالی از نوشتن چندین مقدار برای یک نام پارامتر پرس و جو، مانند "type=siteid:1&type=language:us-en&type=currency:USD"، موارد زیر را تنظیم کنید:

  • message.queryparam.type.1 به "siteid:1"
  • message.queryparam.type.2 به "language:en-us"
  • message.queryparam.type.3 به "currency:USD"
درخواست پروکسی
message.queryparam. param_name .
values
مجموعه فقط خواندنی

تمام مقادیر یک پارامتر پرس و جوی خاص در پیام، به عنوان یک لیست جدا شده با کاما فرمت شده است.

برای مثال، اگر رشته پرس و جو a=hello&a=world باشد، مقدار message.queryparam.a.values ​​"['hello', 'world']" است.

درخواست پروکسی
message.queryparam. param_name .
values.count
عدد صحیح فقط خواندنی

تعداد کل یک پارامتر پرس و جو مشخص شده مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه مشتری.

درخواست پروکسی
message.queryparams.count عدد صحیح فقط خواندنی

تعداد کل تمام پارامترهای پرس و جو مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه مشتری.

درخواست پروکسی
message.queryparams.names مجموعه فقط خواندنی

فهرستی از نام‌های پارامترهای درخواست مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه مشتری.

برای تکرار نام پارامترهای پرس و جو با استفاده از جاوا اسکریپت، به پست انجمن Apigee زیر مراجعه کنید: چگونه مجموعه را از "request.queryparams.names" در JS تکرار می کنید؟ در جامعه Apigee .

درخواست پروکسی
message.querystring رشته فقط خواندنی

رشته‌ای حاوی نام‌ها و مقادیر پارامترهای پرس و جو مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه مشتری.

به عنوان مثال، برای درخواست "http://api.apifactory.com/inventors?name=nick&surname=danger"، مقدار message.querystring "name=nick&surname=danger" است.

درخواست پروکسی
message.reason.phrase رشته فقط خواندنی

ReasonPhrase پیام پاسخ از هدف.

پاسخ هدف
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 ( GET ، PUT ، POST ، DELETE ، و غیره) مرتبط با درخواست.

درخواست پروکسی
message.version رشته بخوان / بنویس

نسخه HTTP مرتبط با درخواست ارسال شده به ProxyEndpoint از برنامه مشتری.

درخواست پروکسی

برای اطلاعات بیشتر در مورد پیام ها، به مرجع تابع الگوی پیام مراجعه کنید.

messageid

ظرفی برای شناسه منحصر به فرد جهانی درخواست.

جدول زیر ویژگی های متغیر messageid را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
messageid رشته فقط خواندنی

شناسه منحصربه‌فرد جهانی درخواست را که شامل نام میزبان روتر است، نگه می‌دارد. این شناسه اجازه می دهد تا درخواست های دریافت شده در روتر پس از ارسال به پردازشگر پیام ردیابی شوند.

این شناسه در گزارش های خطای Edge ثبت شده است تا messageid با خطاها مرتبط کند.

درخواست پروکسی

organization

ظرفی برای ویژگی organization.name .

جدول زیر ویژگی های متغیر organization را شرح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
organization.name رشته فقط خواندنی

نام سازمان.

درخواست پروکسی

برای اطلاعات بیشتر درباره سازمان‌ها، به درک سازمان‌ها مراجعه کنید.

proxy

پیکربندی پروکسی API.

جدول زیر ویژگی های متغیر proxy را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
proxy.basepath رشته فقط خواندنی

مقدار Base Path در پیکربندی پراکسی API شما. مسیر پایه قطعه URI است که میزبان را در URL دنبال می کند. URI های جریان مشروط مسیر پایه را دنبال می کنند.

در URL "http://myorg-test.apigee.net /v2/weatherapi /forecastrss?w=12797282":

  • میزبان "myorg-test.apigee.net" است (که شامل نام سازمان و محیط است)
  • مسیر پایه "/v2/weatherapi" است

تنها راهی که می توانید متوجه شوید این است که به تعریف پراکسی API یا بررسی مقدار متغیر proxy.basepath مراجعه کنید. پسوند مسیر پراکسی از مسیر پایه ("/forecastrss")، همراه با هر پارامتر پرس و جو پیروی می کند.

اگر یک مسیر پایه پویا را در پیکربندی پراکسی API خود تعریف کنید، مانند "/v2/*/weatherapi"، این متغیر روی مسیر پویا ("/v2/*/weatherapi") تنظیم می شود، حتی اگر مسیر پایه حل شود. به یک مقدار ثابت، مانند "/v2/foo/weatherapi".

درخواست پروکسی
proxy.client.ip رشته فقط خواندنی

آدرس X-Forwarded-For تماس ورودی، که آدرس IP Edge دریافت شده از آخرین دست دادن TCP خارجی است. این می تواند مشتری تماس گیرنده یا متعادل کننده بار باشد.

درخواست پروکسی
proxy.name رشته فقط خواندنی

ویژگی نام پیکربندی شده برای ProxyEndpoint.

درخواست پروکسی
proxy.pathsuffix رشته فقط خواندنی

مقدار پسوند مسیر پایه پروکسی API که از مشتری ارسال شده و در ProxyEndpoint دریافت می شود.

مسیر پایه به عنوان مولفه مسیری تعریف می شود که به طور منحصر به فرد پراکسی API را شناسایی می کند. URL عمومی یک پروکسی API شامل نام سازمان شما، محیطی که پراکسی در آن مستقر است، مسیر پایه، پسوند مسیر پایه و هر پارامتر پرس و جو است.

به عنوان مثال، در یک درخواست به http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282 ، پسوند مسیر پایه "/forecastrss" است.

درخواست پروکسی
proxy.url رشته فقط خواندنی

URL کامل مرتبط با درخواست پروکسی دریافت شده توسط ProxyEndpoint، از جمله هر پارامتر پرس و جوی موجود را دریافت می کند. اگر پروکسی با <LocalTargetConnection> برای انجام زنجیره پراکسی فراخوانی شود، میزبان URL همیشه localhost خواهد بود.

برای مثالی که URL request با استفاده از میزبان اصلی می سازد، به پیام های درخواست دسترسی مراجعه کنید.

درخواست پروکسی

برای اطلاعات بیشتر در مورد کار با پراکسی های API، به درک API ها و پراکسی های API مراجعه کنید.

request

درخواست کامل، از جمله هرگونه محموله موجود.

برای اطلاعات بیشتر در مورد داده‌های درخواست، به نحوه ارسال داده‌های درخواست به سرور پشتیبان مراجعه کنید؟

جدول زیر ویژگی های متغیر request را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
request message فقط خواندنی

درخواست کامل، از جمله هرگونه محموله موجود.

درخواست پروکسی
request.content رشته بخوان / بنویس

بار پیام درخواست را دریافت یا تنظیم می کند.

درخواست پروکسی
request.formparam. param_name رشته بخوان / بنویس

مقدار پارامتر فرم مشخص شده را در درخواست ارسال شده از برنامه مشتری دریافت یا تنظیم می کند.

درخواست پروکسی
request.formparam. param_name .
values
مجموعه فقط خواندنی

تمام مقادیر یک پارامتر فرم خاص در درخواست، به عنوان یک لیست جدا شده با کاما فرمت شده است.

برای مثال، اگر محموله "a=hello&x=greeting&a=world" باشد، مقدار request.formparam.a.values ​​"['hello', 'world']" است.

درخواست پروکسی
request.formparam. param_name .
values.count
عدد صحیح فقط خواندنی

تعداد تمام مقادیر برای پارامتر فرم مشخص شده مرتبط با درخواست.

درخواست پروکسی
request.formparam. param_name . N رشته بخوان / بنویس

مقدار Nامین پارامتر فرم خاص در پیام. برای مثال، اگر رشته فرم "a=hello&a=world" باشد، مقدار بازگشتی request.formparam.a.1 "hello" است.

درخواست پروکسی
request.formparams.count عدد صحیح فقط خواندنی

تعداد تمام پارامترهای فرم مرتبط با درخواست ارسال شده از برنامه مشتری.

درخواست پروکسی
request.formparams.names مجموعه فقط خواندنی

لیستی از نام تمام پارامترهای فرم مرتبط با درخواست.

درخواست پروکسی
request.formstring رشته فقط خواندنی

formparam کامل در درخواست ارسال شده از برنامه مشتری.

به عنوان مثال، "name=test&type=first&group=A".

درخواست پروکسی
request.header. header_name رشته بخوان / بنویس

مقدار هدر خاصی را که در درخواست یافت می شود، دریافت یا تنظیم می کند. اگر سرصفحه حاوی کاما باشد، پس از خواندن فقط قسمتی از متن را تا اولین کاما دریافت خواهید کرد.

اگر کل هدر را می خواهید، از فرم request.header. header_name .values ​​.

درخواست پروکسی
request.header. header_name . N رشته بخوان / بنویس

مقدار N امین مقدار هدر خاص در درخواست. Apigee Edge مقادیر متن سرصفحه را با کاما تقسیم می کند. توجه داشته باشید که شاخصی که مقدار آن برای N استفاده می شود، مبتنی بر 1 است، نه بر اساس 0.

برای مثال، اگر هدر Cache-control "public, maxage=16544" باشد، مقدار بازگشتی request.header.cache-control.1 "maxage=16544" است.

درخواست پروکسی
request.header. header_name .
values
مجموعه فقط خواندنی

تمام مقادیر یک هدر خاص در درخواست.

درخواست پروکسی
request.header. header_name .
values.count
عدد صحیح فقط خواندنی

شمارش تمام مقادیر یک هدر خاص در درخواست.

درخواست پروکسی
request.headers.count عدد صحیح فقط خواندنی

تعداد تمام سرصفحه های درخواست.

درخواست پروکسی
request.headers.names مجموعه فقط خواندنی

نام تمام سرصفحه های موجود در درخواست.

درخواست پروکسی
request.path رشته فقط خواندنی

مسیر منبع بدون پروکسی (بدون شامل میزبان) به سرویس پشتیبان، به استثنای پارامترهای پرس و جو.

برای مثال، از URI به سرویس Backend "https://example.com/rest/api/latest" است، سپس مقدار request.path "/rest/api/latest" است.

درخواست پروکسی
request.queryparam. param_name رشته بخوان / بنویس

مقدار یک پارامتر کوئری خاص که در درخواست یافت می شود.

درخواست پروکسی
request.queryparam. param_name . N رشته بخوان / بنویس

مقدار Nامین پارامتر پرس و جو در درخواست.

به عنوان مثال، اگر request.querystring "a=hello&a=world" باشد، مقدار بازگشتی request.queryparam.a.1 "hello" است.

به عنوان مثالی از نوشتن چندین مقدار برای یک نام پارامتر پرس و جو، مانند "type=siteid:1&type=language:us-en&type=currency:USD"، موارد زیر را تنظیم کنید:

  • request.queryparam.type.1 به "siteid:1"
  • request.queryparam.type.2 به "language:en-us"
  • request.queryparam.type.3 به "currency:USD"
درخواست پروکسی
request.queryparam. param_name .
values
مجموعه فقط خواندنی

تمام مقادیر یک پارامتر پرس و جوی خاص در درخواست، به عنوان یک لیست جدا شده با کاما فرمت شده است.

برای مثال، اگر request.querystring "a=hello&b=lovely&a=world" باشد، مقدار request.queryparam.a.values ​​"['hello', 'world']" است.

درخواست پروکسی
request.queryparam. param_name .
values.count
عدد صحیح فقط خواندنی

تعداد تمام مقادیر یک پارامتر کوئری خاص در درخواست.

درخواست پروکسی
request.queryparams.count عدد صحیح فقط خواندنی

تعداد تمام پارامترهای پرس و جو در درخواست.

درخواست پروکسی
request.queryparams.names مجموعه فقط خواندنی

نام تمام پارامترهای پرس و جو در درخواست.

برای تکرار نام پارامترهای پرس و جو با استفاده از جاوا اسکریپت، ببینید چگونه مجموعه را از "request.queryparams.names" در JS تکرار می کنید؟ در جامعه 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، پراکسی <BasePath> در ProxyEndpoint (علاوه بر URL پایه پروکسی) به URL سرویس هدف در TargetEndpoint نگاشت می شود. مثلا:

<ProxyEndpoint>
...
<BasePath>/my-mock-proxy</BasePath>

به

<TargetEndpoint>
...
<HTTPTargetConnection>
http://mocktarget.apigee.net
</HTTPTargetConnection>

در درخواست ، request.uri مسیر پایه پروکسی + باقیمانده آدرس، از جمله پارامترهای پرس و جو است.

در پاسخ ، request.uri باقیمانده آدرس، شامل پارامترهای پرس و جو، بعد از HTTPTargetConnection است.

تفاوت به این دلیل است که درخواست اصلی وارد پروکسی شده است، اما پس از آن، پروکسی درخواست دیگری را به سرویس هدف ارسال می کند.

فرض کنید فراخوانی زیر با پراکسی نمونه ما انجام شده است که مسیر اصلی "/my-mock-proxy" دارد:

http://my_org-test.apigee.net/my-mock-proxy/ user?user=Dude

و پروکسی تماس می گیرد:

http://mocktarget.apigee.net

که "/user?user=Dude" را به آن URL اضافه می کند.

  • درخواست: request.uri = "/my-mock-proxy/user?user=Dude"
  • پاسخ: request.uri = "/user?user=Dude"
درخواست پروکسی (در پاسخ متفاوت است)
request.url رشته فقط خواندنی

URL کامل درخواست ارسال شده به نقطه پایانی هدف، شامل پارامترهای رشته پرس و جو، اما شامل شماره پورت (اگر مشخص شده باشد).

برای مثال، اگر با یک پراکسی نمونه تماس بگیرید «http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude»، و نقطه پایانی هدف «http://example» است. com:8080"، سپس مقدار:

  • درخواست: n/a
  • پاسخ: "http://example.com/user?user=Dude"
پاسخ هدف
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 .
values.count
عدد صحیح فقط خواندنی

شمارش تمام مقادیر پارامتر فرم مشخص شده در پاسخ.

پاسخ هدف
response.formparams.count عدد صحیح فقط خواندنی

شمارش تمام پارامترهای فرم در پاسخ.

پاسخ هدف
response.formparams.names مجموعه فقط خواندنی

نام تمام پارامترهای فرم در پاسخ.

پاسخ هدف
response.header. header_name رشته بخوان / بنویس

مقدار یک هدر HTTP مشخص شده را در پاسخ دریافت یا تنظیم می کند.

اگر متن سرصفحه دارای کاما باشد، Apigee Edge چندین مقدار را استنتاج می کند. در این مورد، response.header. header_name فقط اولین مقدار را برمی گرداند.

برای خواندن کل هدر، از فرم response.header. header_name .values ​​.

پاسخ هدف
response.header. header_name .
values
مجموعه فقط خواندنی

تمام مقادیر یک هدر HTTP مشخص شده در پاسخ.

پاسخ هدف
response.header. header_name .
values.count
عدد صحیح فقط خواندنی

شمارش تمام مقادیر هدر HTTP مشخص شده در پاسخ.

پاسخ هدف
response.header. header_name . N رشته بخوان / بنویس

مقدار N امین مقدار سرصفحه خاص در پاسخ. Apigee Edge مقادیر متن سرصفحه را با کاما تقسیم می کند. توجه داشته باشید که شاخصی که مقدار آن برای N استفاده می شود، مبتنی بر 1 است، نه بر اساس 0.

برای مثال، اگر هدر Cache-control "public, maxage=16544" باشد، response.header.cache-control.1 "maxage=16544" را برمی‌گرداند.

پاسخ هدف
response.headers.count عدد صحیح فقط خواندنی

تعداد تمام سرصفحه ها در پاسخ.

پاسخ هدف
response.headers.names مجموعه فقط خواندنی

نام تمام سرفصل های موجود در پاسخ.

پاسخ هدف
response.reason.phrase رشته بخوان / بنویس

عبارت دلیل پاسخ برای یک درخواست خاص.

پاسخ هدف
response.status.code عدد صحیح بخوان / بنویس

کد پاسخ برای یک درخواست برگشت داده شد. می توانید از این متغیر برای لغو کد وضعیت پاسخ که در message.status.code ذخیره می شود استفاده کنید. برای اطلاعات بیشتر به message مراجعه کنید.

پاسخ هدف
response.transport.message رشته فقط خواندنی

پاسخ از نوع TransportMessage که یک شیء متنی است.

پاسخ هدف

route

نام <RouteRule> و TargetEndpoint را مشخص می کند.

جدول زیر ویژگی های متغیر route را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
route.name رشته فقط خواندنی

نام <RouteRule> که در ProxyEndpoint اجرا شد. به عنوان مثال، "پیش فرض". یک RouteRule به یک پروکسی API TargetEndpoint برای اجرا ارجاع می دهد.

درخواست هدف
route.target رشته فقط خواندنی

نام TargetEndpoint که اجرا شد. به عنوان مثال، "پیش فرض".

درخواست هدف

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 رشته فقط خواندنی

زمانی که این متغیر خوانده شد. به عنوان مثال، "Wed, 21 Aug 2013 19:16:47 UTC".

این مقدار نمایش رشته ای از مقدار متناظر system.timestamp است. برای مثال، "Wed, 21 Aug 2013 19:16:47 UTC" با مقدار مهر زمانی "1377112607413" مطابقت دارد.

درخواست پروکسی
system.time.year عدد صحیح فقط خواندنی

بخش سال از system.time .

درخواست پروکسی
system.time.month عدد صحیح فقط خواندنی

بخش ماه system.time .

درخواست پروکسی
system.time.day عدد صحیح فقط خواندنی

قسمت روز ماه از system.time .

درخواست پروکسی
system.time.dayofweek عدد صحیح فقط خواندنی

قسمت روز هفته از system.time .

درخواست پروکسی
system.time.hour عدد صحیح فقط خواندنی

بخش ساعتی system.time .

درخواست پروکسی
system.time.minute عدد صحیح فقط خواندنی

بخش دقیقه از system.time .

درخواست پروکسی
system.time.second عدد صحیح فقط خواندنی

قسمت دوم system.time .

درخواست پروکسی
system.time.millisecond عدد صحیح فقط خواندنی

بخش میلی ثانیه ای system.time .

درخواست پروکسی
system.time.zone رشته فقط خواندنی

منطقه زمانی سیستم

درخواست پروکسی
system.timestamp طولانی فقط خواندنی

عدد صحیح 64 بیتی (طولانی) نشان دهنده زمان خواندن این متغیر است. مقدار، تعداد میلی ثانیه های سپری شده از نیمه شب، در 1 ژانویه 1970 UTC است. به عنوان مثال، "1534783015000".

درخواست پروکسی
system.uuid رشته فقط خواندنی

UUID پردازشگر پیام که پروکسی را مدیریت می کند.

درخواست پروکسی

target

هدف درخواست را شرح می دهد.

جدول زیر ویژگی های متغیر target را توضیح می دهد:

ویژگی تایپ کنید بخوان / بنویس شرح دامنه آغاز می شود
target.basepath رشته فقط خواندنی

مسیر منبع (بدون شامل دامنه) به سرویس هدف، به استثنای پارامترهای پرس و جو، که در TargetEndpoint پروکسی تعریف شده است.

به عنوان مثال، فرض کنید یک پروکسی API هدف زیر را فراخوانی می کند:

<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net/user?user=Dude</URL>
</HTTPTargetConnection>

In this example, the target.basepath is "/user".

If the target were this:

<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net</URL>
</HTTPTargetConnection>

The target.basepath would be null.

Target request
target.copy.pathsuffix Boolean Read/Write

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 Boolean Read/Write

When "true", request forwarded from ProxyEndpoint to TargetEndpoint retains query parameters.

Target request
target.country String Read only

Country of the TLS/SSL certificate presented by the target server

Target response
target.cn String Read only

The Common Name of the TargetEndpoint. This is meaningful only when the TargetEndpoint refers to an TLS/SSL endpoint.

Target request
target.email.address String Read only

Email address of the TLS/SSL certificate presented by the target server

Target response
target.expectedcn String Read/Write

The expected Common Name of the TargetEndpoint. This is meaningful only when the TargetEndpoint refers to an TLS/SSL endpoint.

Proxy request
target.host String Read only

The domain name of the target service returning the response to the API proxy.

Target response
target.ip String Read only

The IP address of the target service returning the response to the API proxy.

Target response
target.locality String Read only

Locality (city) of the TLS/SSL certificate presented by the target server

Target response
target.name String Read only

Target to which message is reaching from targetendpoint.

Target request
target.organization String Read only

Organization of the TLS/SSL certificate presented by the target server.

Target response
target.organization.unit String Read only

Organization unit of the TLS/SSL certificate presented by the target server.

Target response
target.port Integer Read only

The port number of the target service returning the response to the API proxy.

Target response
target.received.end.time String Read only

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.
timestamp
Long Read only

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 String Read only

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.
timestamp
Long Read only

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 String Read only

Scope begins : Target response
Type : String
Permission : Read/Write

Returns http or https depending on the request message.

Target request
target.sent.end.time String Read only

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 Long Read only

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 String 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 Long Read only

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 Boolean Read only

Whether TargetEndpoint is running on TLS/SSL.

Proxy request
target.state String Read only

State of the TLS/SSL certificate presented by the target server.

Target response
target.url String Read/Write

The URL configured in the TargetEndpoint XML file or the dynamic target URL (if target.url is set during the message flow). The variable does not include any additional path elements or query parameters. Returns null if called out of scope or otherwise unset.

Target request

variable

A container for the variable.expectedcn property.

The following table describes the properties of the variable variable:

Property Type Read/Write شرح Scope begins
variable.expectedcn String 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:

Property Type 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 String Read only

Name of the virtual host that serves the originating client request.

Proxy request
virtualhost.ssl.enabled Boolean 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 .