您正在查看 Apigee Edge 說明文件。
請參閱 Apigee X 說明文件。 info
本節提供流程變數的參考資訊。
Apigee Edge 定義了下列流程變數:
apigee
loadbalancing
route
apiproxy
message
router
application
messageid
servicecallout
client
organization
system
current
proxy
target
environment
ratelimit
variable
error
request
virtualhost
is
response
我們將在後續章節中說明每個變數。
apigee
輔助變數,提供政策執行時間的相關資訊。
下表說明 apigee
變數的屬性:
屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
---|---|---|---|---|
apigee.metrics.policy.policy_name.timeTaken |
整數 | 唯讀 | 政策執行所需的時間 (以奈秒為單位)。 | 政策 |
apiproxy
說明 API Proxy。
下表說明 apiproxy
變數的屬性:
屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
---|---|---|---|---|
apiproxy.name |
字串 | 唯讀 | API Proxy 的名稱。例如「My 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 |
字串 | 唯讀 |
代理程式在 ProxyEndpoint 上完成接收來自原始用戶端的要求時的時間,以字串形式表示。例如:2013 年 8 月 21 日星期三 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 上接收來自原始用戶端的要求。例如:2013 年 8 月 21 日星期三 19:16:47 (世界標準時間) 這個時間值是相應 32 位元時間戳記數量的字串表示法。舉例來說,'Wed, 21 Aug 2013 19:16:47 UTC' 對應的時間戳記值為 1377112607413。 |
Proxy 要求 |
client.received.start.timestamp |
長 | 唯讀 |
指定 ProxyEndpoint 開始接收原始用戶端要求的時間戳記值。這個值是 64 位元 (長) 整數,包含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 |
Proxy 要求 |
client.scheme |
字串 | 唯讀 |
根據用戶端應用程式用來傳送要求訊息的傳輸方式,傳回 http 或 https。 |
Proxy 要求 |
client.sent.end.time |
字串 | 唯讀 |
以字串形式表示的時間,代表 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 |
長 | 唯讀 | 代理程式開始從 ProxyEndpoint 傳送回應給用戶端的時間。這個值以 64 位元 (長) 整數表示,包含自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。 | PostClientFlow |
client.ssl.enabled |
字串 | 唯讀 |
如果 ProxyEndpoint 已設定為 TLS/SSL,則為「true」;否則為「false」。 |
Proxy 要求 |
client.state |
字串 | 唯讀 |
用戶端提供的 TLS/SSL 憑證中的狀態。 |
Proxy 要求 |
current
包含目前 API 代理程式流程的相關資訊。
下表說明 current
變數的屬性:
屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
---|---|---|---|---|
current.flow.name |
字串 | 唯讀 | 目前執行的流程名稱 (例如「PreFlow」、「PostFlow」或條件式流程的名稱)。 | Proxy 要求 |
current.flow.description |
字串 | 唯讀 | 目前執行的流程說明。這與流程 XML 設定中 <Description> 元素的值相同。 |
Proxy 要求 |
您可以在 Edge UI 的追蹤記錄檢視畫面中查看這些屬性。不過,這些屬性預設不會顯示在傳統 UI 的 Trace 檢視畫面中。
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 社群文章:如何在 JS 中從「request.queryparams.names」逐一處理集合?在 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 設定中的「Base Path」值。基準路徑是指網址中主機後方的 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 |
字串 | 唯讀 |
Inbound 呼叫的 |
Proxy 要求 |
proxy.name |
字串 | 唯讀 |
ProxyEndpoint 的名稱屬性設定。 |
Proxy 要求 |
proxy.pathsuffix |
字串 | 唯讀 |
從用戶端傳送並在 ProxyEndpoint 中接收的 API Proxy 路徑後置字串值。 定義 basepath 為可用於識別 API 代理程式的路徑元件。API Proxy 的公開網址包含貴機構名稱、Proxy 部署環境、basepath、basepath 後置字串和任何查詢參數。 舉例來說,在對 |
Proxy 要求 |
proxy.url |
字串 | 唯讀 |
取得與 ProxyEndpoint 收到的 ProxyRequest 相關聯的完整網址,包括任何存在的查詢參數。如果 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 | 長 | 唯讀 |
傳回世界標準時間 (以毫秒為單位),用於判斷配額到期時間和新配額間隔開始時間。 如果配額政策的類型為 |
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 |
字串 | 唯讀 |
未經代理的後端服務資源路徑 (不含主機),不含查詢參數。 舉例來說,如果後端服務的 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 Community 中的「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 |
字串 | 唯讀 |
對目標端點提出要求的完整網址,包括查詢字串參數,但不含連接埠號碼 (如有指定)。 舉例來說,如果您呼叫的代理程式是「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 |
字串 | 讀取/寫入 |
ServiceCallout 政策中所指的 TargetEndpoint 預期通用名稱。只有在 TargetEndpoint 參照 TLS/SSL 端點時,這項屬性才有意義。 |
Proxy 要求 |
servicecallout.policy_name.target.url |
字串 | 讀取/寫入 |
特定 ServiceCallout 政策的 TargetEndpoint 網址。 |
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 位元 (long) 整數,代表讀取這個變數的時間。這個值是自世界標準時間 1970 年 1 月 1 日午夜起經過的毫秒數。例如「1534783015000」。 |
Proxy 要求 |
system.uuid |
字串 | 唯讀 |
處理 Proxy 的訊息處理器的 UUID。 |
Proxy 要求 |
target
說明要求的目標。
下表說明 target
變數的屬性:
屬性 | 類型 | 讀取/寫入 | 說明 | 範圍開始 |
---|---|---|---|---|
target.basepath |
字串 | 唯讀 |
代理程式 TargetEndpoint 中定義的目標服務資源路徑 (不含網域),不含查詢參數。 舉例來說,假設 API Proxy 呼叫下列目標:
在這個範例中, 如果目標是:
|
目標要求 |
target.copy.pathsuffix |
布林值 | 讀取/寫入 |
如果設為「true」,從 ProxyEndpoint 轉送至 TargetEndpoint 的要求會保留路徑後置字串 (ProxyEndpoint 基礎路徑中定義的 URI 後面的 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 |
字串 | 唯讀 |
傳回 API 代理程式回應的目標服務 IP 位址。 |
目標回應 |
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 |
字串 | 唯讀 |
代理程式停止將要求傳送至 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 |
字串 | 唯讀 |
代理伺服器開始將要求傳送至 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 要求 |
如要進一步瞭解如何使用虛擬主機,請參閱「設定虛擬主機」。