您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本節提供流程變數的參考資訊。
Apigee Edge 定義下列流程變數:
apigeeloadbalancingrouteapiproxymessagerouterapplicationmessageidservicecalloutclientorganizationsystemcurrentproxytargetenvironmentratelimitvariableerrorrequestvirtualhostisresponse
後續章節將說明這些變數。
apigee
提供政策執行時間相關資訊的輔助變數。
下表說明 apigee 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
apigee.metrics.policy.policy_name.timeTaken |
整數 | 唯讀 | 政策執行時間 (以奈秒為單位)。 | 政策 |
apiproxy
說明 API Proxy。
下表說明 apiproxy 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
apiproxy.name |
字串 | 唯讀 | API Proxy 的名稱。例如「我的 Proxy」。 | Proxy 要求 |
apiproxy.revision |
字串 | 唯讀 | API Proxy 的修訂版本號碼。例如「6」。 | Proxy 要求 |
如要進一步瞭解如何使用 API Proxy,請參閱「瞭解 API 和 API Proxy」。
application
application.basepath 屬性的容器。
下表說明 application 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
application.basepath |
字串 | 唯讀 | 部署基本路徑 (在 API 部署期間指定)。 | Proxy 要求 |
client
向 Edge 路由器傳送要求的應用程式或系統。
下表說明 client 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
client.cn |
字串 | 唯讀 |
用戶端應用程式提供的 TLS/SSL 憑證中指定的一般名稱。 |
Proxy 要求 |
client.country |
字串 | 唯讀 |
用戶端應用程式提供的 TLS/SSL 憑證中的國家/地區。 |
Proxy 要求 |
client.email.address |
字串 | 唯讀 |
用戶端應用程式提供的 TLS/SSL 憑證中的電子郵件地址。 |
Proxy 要求 |
client.host |
字串 | 唯讀 |
ProxyEndpoint 收到的要求相關聯的 HTTP 主機 IP。 |
Proxy 要求 |
client.ip |
字串 | 唯讀 |
將訊息傳送至 Edge 路由器的用戶端或系統 IP 位址。例如原始用戶端 IP 或負載平衡器 IP。 |
Proxy 要求 |
client.locality |
字串 | 唯讀 |
用戶端提供的 TLS/SSL 憑證中的所在地 (城市)。 |
Proxy 要求 |
client.organization |
字串 | 唯讀 | 用戶端提供的 TLS/SSL 憑證中的機構。(不一定等同於 Apigee Edge 上的機構)。 | Proxy 要求 |
client.organization.unit |
字串 | 唯讀 |
用戶端提供的 TLS/SSL 憑證中的機構單位。 |
Proxy 要求 |
client.port |
整數 | 唯讀 |
與 ProxyEndpoint 的原始用戶端要求相關聯的 HTTP 連接埠。 |
Proxy 要求 |
client.received.end.time |
字串 | 唯讀 |
Proxy 在 ProxyEndpoint 接收來自原始用戶端的要求時,以字串形式表示的時間。例如:Wed, 21 Aug 2013 19:16:47 UTC。 這個時間值是相應 32 位元時間戳記量的字串表示法。舉例來說,「Wed, 21 Aug 2013 19:16:47 UTC」對應的時間戳記值為 1377112607413。 |
Proxy 要求 |
client.received.end.timestamp |
長 | 唯讀 |
時間戳記值,指定 ProxyEndpoint 上的 Proxy 何時完成接收來自原始用戶端的要求。這個值是 64 位元 (長) 整數,內含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
Proxy 要求 |
client.received.start.time |
字串 | 唯讀 |
Proxy 開始從 ProxyEndpoint 的原始用戶端接收要求的時間 (以字串形式表示)。例如:Wed, 21 Aug 2013 19:16:47 UTC 這個時間值是相應 32 位元時間戳記量的字串表示法。舉例來說,「Wed, 21 Aug 2013 19:16:47 UTC」對應的時間戳記值為 1377112607413。 |
Proxy 要求 |
client.received.start.timestamp |
長 | 唯讀 |
時間戳記值,指定 Proxy 開始從 ProxyEndpoint 的原始用戶端接收要求的時間。這個值是 64 位元 (長) 整數,內含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
Proxy 要求 |
client.scheme |
字串 | 唯讀 |
視用戶端應用程式用來傳送要求訊息的傳輸方式,傳回 http 或 https。 |
Proxy 要求 |
client.sent.end.time |
字串 | 唯讀 |
以字串形式表示的時間,指出 Proxy 從 ProxyEndpoint 傳送回應至用戶端的時間。例如:「Wed, 21 Aug 2013 19:16:47 UTC」。 這個值是相應 32 位元 |
PostClientFlow |
client.sent.end.timestamp |
長 | 唯讀 | 時間戳記值,指定 ProxyEndpoint 何時完成將回應傳回給原始用戶端應用程式。這個值是 64 位元 (長) 整數,包含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 | PostClientFlow |
client.sent.start.time |
字串 | 唯讀 | ProxyEndpoint 開始將回應傳回原始用戶端應用程式的時間,以字串形式表示。例如:「Wed, 21 Aug 2013 19:16:47 UTC」。 這個值是相應 32 位元 |
PostClientFlow |
client.sent.start.timestamp |
長 | 唯讀 | Proxy 開始從 ProxyEndpoint 將回應傳送給用戶端的時間。這個值以 64 位元 (長) 整數表示,內含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 | PostClientFlow |
client.ssl.enabled |
字串 | 唯讀 |
如果 ProxyEndpoint 已設定 TLS/SSL,則為「true」,否則為「false」。 |
Proxy 要求 |
client.state |
字串 | 唯讀 |
用戶端提供的 TLS/SSL 憑證中的狀態。 |
Proxy 要求 |
current
包含目前 API Proxy 流程的相關資訊。
下表說明 current 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
current.flow.name |
字串 | 唯讀 | 目前執行的流程名稱 (例如「PreFlow」、「PostFlow」或條件流程的名稱)。 | Proxy 要求 |
current.flow.description |
字串 | 唯讀 | 目前執行中流程的說明。這與流程 XML 設定中 <Description> 元素的值相同。 |
Proxy 要求 |
您可以在 Edge UI 的「追蹤」檢視畫面中查看這些屬性。不過,這些屬性預設不會顯示在傳統版 UI 的「追蹤記錄」檢視畫面中。
environment
environment.name 屬性的容器。
下表說明 environment 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
environment.name |
字串 | 唯讀 | 執行交易的環境名稱。 | Proxy 要求 |
error
代表錯誤流程中錯誤訊息的脈絡物件。
下表說明 error 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
error |
message |
讀取/寫入 | message 類型的錯誤,這是錯誤流程中的內容物件。 |
錯誤 |
error.content |
字串 | 讀取/寫入 | 錯誤內容。 | 錯誤 |
error.message |
字串 | 唯讀 |
與錯誤相關的訊息,只有在執行錯誤流程前才能取得值。 |
錯誤 |
error.status.code |
整數 | 唯讀 |
與錯誤相關聯的 HTTP 狀態碼。例如「400」。 |
錯誤 |
error.reason.phrase |
字串 | 唯讀 |
與錯誤相關的狀態說明。例如「Bad Request」。 |
錯誤 |
error.transport.message |
TransportMessage | 唯讀 |
任何 TransportMessage 類型的錯誤。 |
錯誤 |
error.state |
整數 | 唯讀 |
發生錯誤的流程狀態。 |
錯誤 |
error.header.header_name |
字串 | 讀取/寫入 |
取得或設定回應標頭。 |
錯誤 |
fault
政策擲回錯誤時,系統會將這個流程變數設為執行階段錯誤代碼。 錯誤代碼值適用於各項政策。
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
fault.fault_name |
字串 | 唯讀 | fault_name 是錯誤的名稱,如各政策參考主題中執行階段錯誤表格所述。 | 錯誤 |
is
is.error 屬性的容器。
下表說明 is 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
is.error |
布林值 | 唯讀 |
錯誤旗標。 |
Proxy 要求 |
loadbalancing
提供 TargetEndpoint 的負載平衡狀態相關資訊。
下表說明 loadbalancing 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
loadbalancing.failedservers |
字串陣列 | 唯讀 |
在 TargetEndpoint 進行負載平衡時,失敗的 TargetServer 清單。 |
目標回覆 |
loadbalancing.isfallback |
布林值 | 唯讀 |
如果 TargetEndpoint 負載平衡期間叫用的 TargetServer 已啟用備援,則為「true」。 |
目標回覆 |
loadbalancing.targetserver |
字串 | 唯讀 |
在 TargetEndpoint 負載平衡期間叫用的 TargetServer。只有在定義負載平衡器元素時設定了 |
目標回覆 |
message
內容物件,其值與要求流程中的 request、回應流程中的 response 或錯誤流程中的 error 相同。
下表說明 message 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
message |
message |
讀取/寫入 |
內容物件,與要求流程中的 |
Proxy 要求 |
message.content |
字串 | 讀取/寫入 |
要求、回應或錯誤訊息的內容。 |
Proxy 要求 |
message.formparam.param_name |
字串 | 讀取/寫入 |
指定表單參數的值。 |
Proxy 要求 |
message.formparam.param_name. |
集合 | 唯讀 |
郵件中指定表單參數的所有值。 |
Proxy 要求 |
message.formparam.param_name. |
整數 | 唯讀 |
訊息中指定表單參數的值數量。/p> |
Proxy 要求 |
message.formparams.count |
整數 | 唯讀 |
訊息中所有表單參數的計數。 |
Proxy 要求 |
message.formparams.names |
集合 | 唯讀 |
訊息中所有表單參數的值。 |
Proxy 要求 |
message.formstring |
字串 | 唯讀 |
郵件中表單字串的值。 |
Proxy 要求 |
message.header.header_name |
字串 | 讀取/寫入 |
在郵件中取得或設定指定 HTTP 標頭的值。如果標題包含半形逗號,系統只會讀取第一個半形逗號前的文字。如要取得整個標頭,請使用 |
Proxy 要求 |
message.header.header_name.N |
字串 | 讀取/寫入 |
訊息中第 N 個特定標頭的值,視流程狀態而定,可能是要求或回應。Apigee Edge 會以半形逗號分隔標頭文字值。請注意,用於 N 的索引值從 1 開始,而非從 0 開始。 舉例來說,如果 |
Proxy 要求 |
message.header.header_name. |
集合 | 唯讀 |
訊息中指定 HTTP 標頭名稱的所有值。 |
Proxy 要求 |
message.header.header_name. |
整數 | 唯讀 |
郵件中指定 HTTP 標頭名稱的值數量。 |
Proxy 要求 |
message.headers.count |
整數 | 唯讀 |
郵件中所有 HTTP 標頭的計數。 |
Proxy 要求 |
message.headers.names |
集合 | 唯讀 |
郵件中所有 HTTP 標頭的值 |
Proxy 要求 |
message.path |
字串 | 讀取/寫入 |
網址中完整的要求訊息路徑,不含任何查詢參數。 |
Proxy 要求 |
message.queryparam.param_name |
字串 | 唯讀 |
傳回指定的訊息查詢參數。 |
Proxy 要求 |
message.queryparam.param_name.N |
字串 | 讀取/寫入 |
訊息中第 N 個查詢參數的值。舉例來說,如果 舉例來說,如要為單一查詢參數名稱寫入多個值,例如「type=siteid:1&type=language:us-en&type=currency:USD」,請設定下列項目:
|
Proxy 要求 |
message.queryparam.param_name. |
集合 | 唯讀 |
訊息中特定查詢參數的所有值,格式為以半形逗號分隔的清單。 舉例來說,如果查詢字串為 |
Proxy 要求 |
message.queryparam.param_name. |
整數 | 唯讀 |
與從用戶端應用程式傳送至 ProxyEndpoint 的要求相關聯的指定查詢參數總數。 |
Proxy 要求 |
message.queryparams.count |
整數 | 唯讀 |
與從用戶端應用程式傳送至 ProxyEndpoint 的要求相關聯的所有查詢參數總數。 |
Proxy 要求 |
message.queryparams.names |
集合 | 唯讀 |
與從用戶端應用程式傳送至 ProxyEndpoint 的要求相關聯的所有查詢參數名稱清單。 如要使用 JavaScript 疊代查詢參數名稱,請參閱下列 Apigee 社群貼文:How do you iterate Collection from "request.queryparams.names" in JS? Apigee 社群。 |
Proxy 要求 |
message.querystring |
字串 | 唯讀 |
這個字串包含與從用戶端應用程式傳送至 ProxyEndpoint 的要求相關聯的所有查詢參數名稱和值。 舉例來說,如果是「http://api.apifactory.com/inventors?name=nick&surname=danger」要求, |
Proxy 要求 |
message.reason.phrase |
字串 | 唯讀 |
目標回應訊息的 ReasonPhrase。 |
目標回覆 |
message.status.code |
整數 | 唯讀 |
目標傳回的回應訊息 HTTP 狀態碼。 |
目標回覆 |
message.transport.message |
TransportMessage | 唯讀 |
TransportMessage 類型的訊息,這是內容物件。 |
Proxy 要求 |
message.uri |
字串 | 唯讀 |
完整 URI 路徑 (網域網址後方),包括查詢參數。 舉例來說,如果要求是「http://api.apifactory.com/inventors?name=nikola&surname=tesla」,這個變數會傳回「inventors?name=nikola&surname=tesla」。 |
Proxy 要求 |
message.verb |
字串 | 唯讀 |
與要求相關聯的 HTTP 動詞 ( |
Proxy 要求 |
message.version |
字串 | 讀取/寫入 |
與從用戶端應用程式傳送至 ProxyEndpoint 的要求相關聯的 HTTP 版本。 |
Proxy 要求 |
如要進一步瞭解訊息,請參閱訊息範本函式參考資料。
messageid
要求的全域專屬 ID 的容器。
下表說明 messageid 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
messageid |
字串 | 唯讀 |
保留要求的全域不重複 ID,包括路由器主機名稱。 這個 ID 可讓路由器在將要求傳送至訊息處理器後,追蹤要求。 這個 ID 會記錄在 Edge 錯誤記錄中,用於將 |
Proxy 要求 |
organization
organization.name 屬性的容器。
下表說明 organization 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
organization.name |
字串 | 唯讀 |
機構名稱。 |
Proxy 要求 |
如要進一步瞭解機構,請參閱「瞭解機構」。
proxy
API Proxy 設定。
下表說明 proxy 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
proxy.basepath |
字串 | 唯讀 |
API Proxy 設定中的基本路徑值。基本路徑是網址中主機後方的 URI 片段。條件式流程 URI 會遵循基本路徑。 在網址「http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282"」中:
如要瞭解這點,唯一的方法是查看 API Proxy 定義,或檢查 proxy.basepath 變數的值。代理路徑後置字串會接在基本路徑 ("/forecastrss") 後方,以及任何查詢參數。 如果您在 API 代理設定中定義動態基本路徑 (例如「/v2/*/weatherapi」),即使基本路徑解析為靜態值 (例如「/v2/foo/weatherapi」),這個變數也會設為動態路徑 (「/v2/*/weatherapi」)。 |
Proxy 要求 |
proxy.client.ip |
字串 | 唯讀 |
傳入呼叫的 |
Proxy 要求 |
proxy.name |
字串 | 唯讀 |
為 ProxyEndpoint 設定的名稱屬性。 |
Proxy 要求 |
proxy.pathsuffix |
字串 | 唯讀 |
從用戶端傳送並在 ProxyEndpoint 接收的 API Proxy 基礎路徑後置字串值。 basepath 定義為可專門識別 API Proxy 的路徑元件。 API Proxy 的公開網址包含機構名稱、Proxy 部署所在的環境、基礎路徑、基礎路徑後置字串,以及任何查詢參數。 舉例來說,在對 |
Proxy 要求 |
proxy.url |
字串 | 唯讀 |
取得與 ProxyEndpoint 收到的 Proxy 要求相關聯的完整網址,包括任何查詢參數。如果透過 |
Proxy 要求 |
如要進一步瞭解如何使用 API Proxy,請參閱「瞭解 API 和 API Proxy」。
ratelimit
配額或 SpikeArrest 政策執行時會填入這個值。
下表說明 ratelimit 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
| ratelimit.policy_name.allowed.count | 長 | 唯讀 | 傳回允許的配額數量。 | PostClientFlow |
| ratelimit.policy_name.used.count | 長 | 唯讀 | 傳回配額間隔內目前使用的配額。 | PostClientFlow |
| ratelimit.policy_name.available.count | 長 | 唯讀 | 傳回配額間隔內的可用配額數。 | PostClientFlow |
| ratelimit.policy_name.exceed.count | 長 | 唯讀 | 超過配額時,會傳回 1。 | PostClientFlow |
| ratelimit.policy_name.total.exceed.count | 長 | 唯讀 | 超過配額時,會傳回 1。 | PostClientFlow |
| ratelimit.policy_name.expiry.time | 長 | 唯讀 |
傳回 UTC 時間 (以毫秒為單位),用於判斷配額何時到期,以及新的配額間隔何時開始。 如果配額政策的類型為 |
PostClientFlow |
| ratelimit.policy_name.identifier | 字串 | 唯讀 | 傳回附加至政策的 (用戶端) 參照 ID | PostClientFlow |
| ratelimit.policy_name.class.allowed.count | 長 | 唯讀 | 傳回類別中定義的允許配額數 | PostClientFlow |
| ratelimit.policy_name.class.used.count | 長 | 唯讀 | 傳回類別中已使用的配額 | PostClientFlow |
| ratelimit.policy_name.class.available.count | 長 | 唯讀 | 傳回類別中的可用配額數 | PostClientFlow |
| ratelimit.policy_name.class.exceed.count | 長 | 唯讀 | 傳回目前配額間隔內,類別中超出限制的要求數 | PostClientFlow |
| ratelimit.policy_name.class.total.exceed.count | 長 | 唯讀 | 傳回所有配額間隔中,超過類別限制的要求總數,因此是所有配額間隔的 class.exceed.count 總和。 |
PostClientFlow |
| ratelimit.policy_name.failed | 布林值 | 唯讀 |
指出政策是否失敗 (true 或 false)。 |
PostClientFlow |
如要瞭解詳情,請參考下列資源:
request
完整要求,包括任何酬載。
如要進一步瞭解要求資料,請參閱「要求資料如何傳遞至後端伺服器?」一文。
下表說明 request 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
request |
message |
唯讀 |
完整要求,包括任何酬載。 |
Proxy 要求 |
request.content |
字串 | 讀取/寫入 |
取得或設定要求訊息的酬載。 |
Proxy 要求 |
request.formparam.param_name |
字串 | 讀取/寫入 |
取得或設定從用戶端應用程式傳送之要求中,指定表單參數的值。 |
Proxy 要求 |
request.formparam.param_name. |
集合 | 唯讀 |
要求中特定表單參數的所有值,格式為以逗號分隔的清單。 舉例來說,如果酬載為「a=hello&x=greeting&a=world」,則 |
Proxy 要求 |
request.formparam.param_name. |
整數 | 唯讀 |
與要求相關聯的指定表單參數的所有值計數。 |
Proxy 要求 |
request.formparam.param_name.N |
字串 | 讀取/寫入 |
訊息中第 N 個特定表單參數的值。舉例來說,如果表單字串為「a=hello&a=world」,則 |
Proxy 要求 |
request.formparams.count |
整數 | 唯讀 |
與從用戶端應用程式傳送的要求相關聯的所有表單參數計數。 |
Proxy 要求 |
request.formparams.names |
集合 | 唯讀 |
與要求相關聯的所有表單參數名稱清單。 |
Proxy 要求 |
request.formstring |
字串 | 唯讀 |
用戶端應用程式傳送要求中的完整 例如「name=test&type=first&group=A」。 |
Proxy 要求 |
request.header.header_name |
字串 | 讀取/寫入 |
取得或設定要求中特定標頭的值。如果標題包含半形逗號,系統只會讀取第一個半形逗號前的文字。 如要取得完整標頭,請使用 |
Proxy 要求 |
request.header.header_name.N |
字串 | 讀取/寫入 |
要求中第 N 個特定標頭值。Apigee Edge 會以半形逗號分隔標題文字值。請注意,用於 N 的索引值是以 1 為基準,而非以 0 為基準。 舉例來說,如果 |
Proxy 要求 |
request.header.header_name. |
集合 | 唯讀 |
要求中特定標頭的所有值。 |
Proxy 要求 |
request.header.header_name. |
整數 | 唯讀 |
要求中特定標頭的所有值數量。 |
Proxy 要求 |
request.headers.count |
整數 | 唯讀 |
要求中所有標頭的計數。 |
Proxy 要求 |
request.headers.names |
集合 | 唯讀 |
要求中所有標頭的名稱。 |
Proxy 要求 |
request.path |
字串 | 唯讀 |
後端服務的未經 Proxy 處理資源路徑 (不含主機),不含查詢參數。 舉例來說,如果後端服務的 URI 是「https://example.com/rest/api/latest」,則 |
Proxy 要求 |
request.queryparam.param_name |
字串 | 讀取/寫入 |
要求中特定查詢參數的值。 |
Proxy 要求 |
request.queryparam.param_name.N |
字串 | 讀取/寫入 |
要求中的 Nth 查詢參數值。 舉例來說,如果 舉例來說,如要為單一查詢參數名稱寫入多個值,例如「type=siteid:1&type=language:us-en&type=currency:USD」,請設定下列項目:
|
Proxy 要求 |
request.queryparam.param_name. |
集合 | 唯讀 |
要求中特定查詢參數的所有值,格式為以逗號分隔的清單。 舉例來說,如果 |
Proxy 要求 |
request.queryparam.param_name. |
整數 | 唯讀 |
要求中特定查詢參數的所有值數量。 |
Proxy 要求 |
request.queryparams.count |
整數 | 唯讀 |
要求中所有查詢參數的計數。 |
Proxy 要求 |
request.queryparams.names |
集合 | 唯讀 |
要求中所有查詢參數的名稱。 如要使用 JavaScript 疊代查詢參數名稱,請參閱 Apigee 社群中的「 How do you iterate Collection from "request.queryparams.names" in JS?」。 |
Proxy 要求 |
request.querystring |
字串 | 唯讀 |
從用戶端應用程式傳送的要求中,查詢參數的完整清單。 舉例來說,如果要求是「http://host.com/123?name=first&surname=second&place=address」,則這個變數會傳回「name=first&surname=second&place=address」。 |
Proxy 要求 |
request.transportid |
字串 | 唯讀 |
要求 ID,類型為 TransportMessage,這是內容物件。 |
Proxy 要求 |
request.transport.message |
Transport-Message | 唯讀 |
TransportMessage 類型的要求,這是內容物件。 |
Proxy 要求 |
request.uri |
字串 | 唯讀 |
在 API Proxy 中,ProxyEndpoint 中的 Proxy
指向
在要求中, 在回應中, 這是因為原始要求傳入 Proxy 後,Proxy 又向目標服務發出另一個要求。 假設對範例 Proxy 進行下列呼叫,該 Proxy 的基本路徑為「/my-mock-proxy」:
Proxy 會呼叫:
這會將「/user?user=Dude」附加至該網址。
|
Proxy 要求 (回覆內容不同) |
request.url |
字串 | 唯讀 |
向目標端點提出的要求完整網址,包括查詢字串參數,但不包括連接埠號碼 (如有指定)。 舉例來說,如果您呼叫範例 Proxy「http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude」,且目標端點為「http://example.com:8080」,則值為:
|
目標回覆 |
request.verb |
字串 | 唯讀 |
要求使用的 HTTP 動詞。例如「GET」、「PUT」和「DELETE」。 |
Proxy 要求 |
request.version |
字串 | 唯讀 |
要求的 HTTP 版本。例如「1.1」。 |
Proxy 要求 |
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 的索引值是以 1 為基準,而非以 0 為基準。 舉例來說,如果 |
目標回覆 |
response.headers.count |
整數 | 唯讀 |
回應中所有標頭的計數。 |
目標回覆 |
response.headers.names |
集合 | 唯讀 |
回應中所有標頭的名稱。 |
目標回覆 |
response.reason.phrase |
字串 | 讀取/寫入 |
特定要求的相應原因詞組。 |
目標回覆 |
response.status.code |
整數 | 讀取/寫入 |
要求傳回的回應代碼。您可以使用這個變數覆寫儲存在 |
目標回覆 |
response.transport.message |
字串 | 唯讀 |
TransportMessage 類型的回應,這是情境物件。 |
目標回覆 |
route
指定 <RouteRule> 和 TargetEndpoint 的名稱。
下表說明 route 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
route.name |
字串 | 唯讀 |
在 ProxyEndpoint 中執行的 |
目標要求 |
route.target |
字串 | 唯讀 |
執行的 TargetEndpoint 名稱。例如「default」。 |
目標要求 |
router
已淘汰的 router.uuid 屬性容器。
下表說明 router 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
router.uuid |
字串 | 唯讀 |
已淘汰,會傳回空值。(先前是處理 Proxy 的路由器 UUID)。 |
Proxy 要求 |
servicecallout
說明 ServiceCallout 政策的 TargetEndpoint。
下表說明 servicecallout 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
servicecallout.policy_name.expectedcn |
字串 | 讀取/寫入 |
TargetEndpoint 的預期通用名稱,如 ServiceCallout 政策政策中所述。只有在 TargetEndpoint 參照 TLS/SSL 端點時,這才有意義。 |
Proxy 要求 |
servicecallout.policy_name.target.url |
字串 | 讀取/寫入 |
特定 ServiceCallout 政策的 TargetEndpoint URL。 |
Proxy 要求 |
servicecallout.requesturi |
字串 | 讀取/寫入 |
ServiceCallout 政策的 TargetEndpoint URI。URI 是 TargetEndpoint 網址,但不含通訊協定和網域規格。 |
Proxy 要求 |
system
指定系統的 IP 位址,以及 Proxy 的詳細資料。
下表說明 system 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
system.interface.interface_name |
字串 | 唯讀 |
系統的 IP 位址。 |
Proxy 要求 |
system.pod.name |
字串 | 唯讀 |
執行 Proxy 的 Pod 名稱。 |
Proxy 要求 |
system.region.name |
字串 | 唯讀 |
執行 Proxy 的資料中心 區域名稱。 |
Proxy 要求 |
system.time |
字串 | 唯讀 |
讀取這個變數的時間。例如「Wed, 21 Aug 2013 19:16:47 UTC」。 這個值是 |
Proxy 要求 |
system.time.year |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.month |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.day |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.dayofweek |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.hour |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.minute |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.second |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.millisecond |
整數 | 唯讀 |
|
Proxy 要求 |
system.time.zone |
字串 | 唯讀 |
系統時區。 |
Proxy 要求 |
system.timestamp |
長 | 唯讀 |
代表讀取這個變數時間的 64 位元 (長) 整數。這個值是自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。例如「1534783015000」。 |
Proxy 要求 |
system.uuid |
字串 | 唯讀 |
處理 Proxy 的訊息處理器 UUID。 |
Proxy 要求 |
target
說明要求目標。
下表說明 target 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
target.basepath |
字串 | 唯讀 |
目標服務的資源路徑 (不含網域),不包括查詢參數,定義於 Proxy 的 TargetEndpoint 中。 舉例來說,假設 API Proxy 呼叫下列目標:
在本例中, 如果目標是這樣:
|
目標要求 |
target.copy.pathsuffix |
布林值 | 讀取/寫入 |
如果設為「true」,從 ProxyEndpoint 轉送至 TargetEndpoint 的要求會保留路徑尾碼 (URI 路徑片段,位於 ProxyEndpoint 基本路徑中定義的 URI 後方)。 |
目標要求 |
target.copy.queryparams |
布林值 | 讀取/寫入 |
如果設為「true」,從 ProxyEndpoint 轉送至 TargetEndpoint 的要求會保留查詢參數。 |
目標要求 |
target.country |
字串 | 唯讀 |
目標伺服器提供的 TLS/SSL 憑證國家/地區 |
目標回覆 |
target.cn |
字串 | 唯讀 |
TargetEndpoint 的一般名稱。只有在 TargetEndpoint 參照 TLS/SSL 端點時,這個屬性才有意義。 |
目標要求 |
target.email.address |
字串 | 唯讀 |
目標伺服器提供的 TLS/SSL 憑證電子郵件地址 |
目標回覆 |
target.expectedcn |
字串 | 讀取/寫入 |
TargetEndpoint 的預期通用名稱。只有在 TargetEndpoint 參照 TLS/SSL 端點時,這才有意義。 |
Proxy 要求 |
target.host |
字串 | 唯讀 |
將回應傳回 API Proxy 的目標服務網域名稱。 |
目標回覆 |
target.ip |
字串 | 唯讀 |
目標服務的 IP 位址,會將回應傳回 API Proxy。 |
目標回覆 |
target.locality |
字串 | 唯讀 |
目標伺服器提供的 TLS/SSL 憑證所在地 (城市) |
目標回覆 |
target.name |
字串 | 唯讀 |
訊息從目標端點傳送至的目標。 |
目標要求 |
target.organization |
字串 | 唯讀 |
目標伺服器提供的 TLS/SSL 憑證機構。 |
目標回覆 |
target.organization.unit |
字串 | 唯讀 |
目標伺服器提供的 TLS/SSL 憑證所屬的機構單位。 |
目標回覆 |
target.port |
整數 | 唯讀 |
目標服務的通訊埠號碼,會將回應傳回 API Proxy。 |
目標回覆 |
target.received.end.time |
字串 | 唯讀 |
以字串形式表示的時間,指出 TargetEndpoint 何時完成接收來自目標的回應。例如「Wed, 21 Aug 2013 19:16:47 UTC」。 這個時間值是相應 32 位元時間戳記量的字串表示法。舉例來說,「Wed, 21 Aug 2013 19:16:47 UTC」對應的時間戳記值為「1377112607413」。 |
目標回覆 |
target.received.end. |
長 | 唯讀 |
時間戳記值,指定 TargetEndpoint 何時完成接收來自目標的回應。例如「1534783015000」。這個值是 64 位元 (長) 整數,指定自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
目標回覆 |
target.received.start.time |
字串 | 唯讀 |
以字串形式表示的時間,TargetEndpoint 開始接收目標回應的時間。例如「Wed, 21 Aug 2013 19:16:47 UTC」。 這個時間值是相應 32 位元時間戳記量的字串表示法。舉例來說,「Wed, 21 Aug 2013 19:16:47 UTC」對應的時間戳記值為「1377112607413」。 |
目標回覆 |
target.received.start. |
長 | 唯讀 |
時間戳記值,指定 TargetEndpoint 開始接收目標回應的時間。例如「1534783015000」。這個值是 64 位元 (長) 整數,指定自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
目標回覆 |
target.scheme |
字串 | 唯讀 |
範圍開頭:目標回應 視要求訊息而定,傳回 http 或 https。 |
目標要求 |
target.sent.end.time |
字串 | 唯讀 |
以字串形式表示的時間,Proxy 會在這個時間停止將要求傳送至 TargetEndpoint 中指定的網址。例如「Wed, 21 Aug 2013 19:16:47 UTC」。 這個時間值是相應 32 位元時間戳記量的字串表示法。舉例來說,「Wed, 21 Aug 2013 19:16:47 UTC」對應的時間戳記值為「1377112607413」。 |
目標要求 |
target.sent.end.timestamp |
長 | 唯讀 |
時間戳記值,指定 Proxy 何時完成將要求傳送至 TargetEndpoint 中指定的網址。例如「1377112607413」。這個值是 64 位元 (長) 整數,內含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
目標要求 |
target.sent.start.time |
字串 | 唯讀 |
Proxy 開始將要求傳送至 TargetEndpoint 中指定網址的時間 (以字串形式表示)。例如「Wed, 21 Aug 2013 19:16:47 UTC」。 這個時間值是相應 32 位元時間戳記量的字串表示法。舉例來說,「Wed, 21 Aug 2013 19:16:47 UTC」對應的時間戳記值為「1377112607413」。 |
目標要求 |
target.sent.start.timestamp |
長 | 唯讀 |
時間戳記值,指定 Proxy 開始將要求傳送至 TargetEndpoint 中指定網址的時間。例如「1534783015000」。這個值是 64 位元 (長) 整數,指定自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
目標要求 |
target.ssl.enabled |
布林值 | 唯讀 |
TargetEndpoint 是否在 TLS/SSL 上執行。 |
Proxy 要求 |
target.state |
字串 | 唯讀 |
目標伺服器提供的 TLS/SSL 憑證狀態。 |
目標回覆 |
target.url |
字串 | 讀取/寫入 |
在 TargetEndpoint XML 檔案中設定的網址,或動態目標網址 (如果是在訊息流程中設定 |
目標要求 |
variable
variable.expectedcn 屬性的容器。
下表說明 variable 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
variable.expectedcn |
字串 | 讀取/寫入 |
如果是在 TLS/SSL 上執行,則會公開通用名稱的變數。 |
Proxy 要求 |
如要進一步瞭解如何使用 TLS,請參閱「TLS/SSL 簡介」。
virtualhost
指定虛擬主機的詳細資料。
下表說明 virtualhost 變數的屬性:
| 屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
|---|---|---|---|---|
virtualhost.aliases.values |
字串陣列 | 唯讀 |
在特定要求期間點擊的虛擬主機別名。 |
Proxy 要求 |
virtualhost.name |
字串 | 唯讀 |
提供原始用戶端要求的虛擬主機名稱。 |
Proxy 要求 |
virtualhost.ssl.enabled |
布林值 | 唯讀 |
如果虛擬主機設定中已啟用 TLS/SSL,則傳回「true」。 |
Proxy 要求 |
如要進一步瞭解如何處理虛擬主機,請參閱「設定虛擬主機」。
