<ph type="x-smartling-placeholder"></ph>
您正在查看 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 |
字符串 | 只读 |
与 ProxyEndpoint 收到的请求相关的 HTTP 主机 IP。 |
代理请求 |
client.ip |
字符串 | 只读 |
将消息发送到 Edge 路由器的客户端或系统的 IP 地址。例如,该属性可以是原始客户端 IP,也可以是负载平衡器 IP。 |
代理请求 |
client.locality |
字符串 | 只读 |
客户端提供的 TLS/SSL 证书中显示的市行政区(城市)。 |
代理请求 |
client.organization |
字符串 | 只读 | 客户端提供的 TLS/SSL 证书中显示的组织。(不一定与 Apigee Edge 中的组织一致。) | 代理请求 |
client.organization.unit |
字符串 | 只读 |
客户端提供的 TLS/SSL 证书中显示的组织单元。 |
代理请求 |
client.port |
整数 | 只读 |
与向 ProxyEndpoint 发出原始客户端请求相关的 HTTP 端口。 |
代理请求 |
client.received.end.time |
字符串 | 只读 |
代理在 ProxyEndpoint 完成从原始客户端接收请求的时间(以字符串形式表示)。例如:世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47。 此时间值是字符串表示形式,有相应的 32 位时间戳数量表示形式。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”对应时间戳值 1377112607413。 |
代理请求 |
client.received.end.timestamp |
长 | 只读 |
指定代理在 ProxyEndpoint 完成从原始客户端接收请求的时间戳值。此值是一个 64 位(长)整数,其中包含从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 |
代理请求 |
client.received.start.time |
字符串 | 只读 |
代理在 ProxyEndpoint 开始从原始客户端接收请求的时间(以字符串形式表示)。例如:世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47 此时间值是字符串表示形式,有相应的 32 位时间戳数量表示形式。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”对应时间戳值 1377112607413。 |
代理请求 |
client.received.start.timestamp |
长 | 只读 |
指定代理在 ProxyEndpoint 开始从原始客户端接收请求的时间戳值。此值是一个 64 位(长)整数,其中包含从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 |
代理请求 |
client.scheme |
字符串 | 只读 |
根据客户端应用用来发送请求消息的传输方式返回 http 或 https。 |
代理请求 |
client.sent.end.time |
字符串 | 只读 |
代理完成从 ProxyEndpoint 向客户端发送响应的时间(以字符串形式表示)。例如:“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此值是字符串表示形式,有相应的 32 位 |
PostClientFlow |
client.sent.end.timestamp |
长 | 只读 | 指定 ProxyEndpoint 完成向原始客户端应用返回响应的时间戳值。此值是一个 64 位(长)整数,其中包含从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 | PostClientFlow |
client.sent.start.time |
字符串 | 只读 | ProxyEndpoint 开始向原始客户端应用发送响应的时间(以字符串形式表示)。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此值是字符串表示形式,有相应的 32 位 |
PostClientFlow |
client.sent.start.timestamp |
长 | 只读 | 代理开始从 ProxyEndpoint 向客户端发送响应的时间。此值被表示为一个 64 位(长)整数,其中包含从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 | PostClientFlow |
client.ssl.enabled |
字符串 | 只读 |
如果 ProxyEndpoint 配置为用于 TLS/SSL,则为“true”;否则为“false”。 |
代理请求 |
client.state |
字符串 | 只读 |
客户端提供的 TLS/SSL 证书中显示的状态。 |
代理请求 |
current
包含有关当前 API 代理流的信息。
下表介绍了 current
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
current.flow.name |
字符串 | 只读 | 当前正在执行的流的名称(例如“PreFlow”、“PostFlow”或条件流的名称)。 | 代理请求 |
current.flow.description |
字符串 | 只读 | 当前正在执行的流的说明。这与流的 XML 配置中 <Description> 元素的值相同。 |
代理请求 |
您可以在 Edge 界面的 Trace 视图中查看这些属性。不过,默认情况下,经典版界面的 Trace 视图中不显示这些属性。
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 | 只读 |
TransportMessage 类型的任何错误。 |
错误 |
error.state |
整数 | 只读 |
出现错误的流中的状态。 |
错误 |
error.header.header_name |
字符串 | 读写 |
获取或设置响应标头。 |
错误 |
fault
政策抛出错误时设置为运行时错误代码的流变量。错误代码值特定于各项政策。
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
fault.fault_name |
字符串 | 只读 | fault_name 是故障的名称,正如每个政策参考文档主题中都包含的运行时错误表中所述。 | 错误 |
is
is.error
属性的容器。
下表介绍了 is
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
is.error |
布尔值 | 只读 |
错误标记。 |
代理请求 |
loadbalancing
提供有关 TargetEndpoint 的负载均衡状态的信息。
下表介绍了 loadbalancing
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
loadbalancing.failedservers |
字符串数组 | 只读 |
在 TargetEndpoint 进行负载均衡期间失败的 TargetServer 列表。 |
目标响应 |
loadbalancing.isfallback |
布尔值 | 只读 |
如果在 TargetEndpoint 进行负载平衡期间调用的 TargetServer 启用了回退功能,则为“true”。 |
目标响应 |
loadbalancing.targetserver |
字符串 | 只读 |
在 TargetEndpoint 进行负载均衡期间调用的 TargetServer。只有在定义负载均衡器元素时设置了 |
目标响应 |
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 的索引值从 1 开始,而不是从 0 开始。 例如:如果 |
代理请求 |
message.header.header_name. |
集合 | 只读 |
消息中指定 HTTP 标头名称的所有值。 |
代理请求 |
message.header.header_name. |
整数 | 只读 |
消息中指定 HTTP 标头名称的值的计数。 |
代理请求 |
message.headers.count |
整数 | 只读 |
消息中所有 HTTP 标头的计数。 |
代理请求 |
message.headers.names |
集合 | 只读 |
消息中所有 HTTP 标头的值 |
代理请求 |
message.path |
字符串 | 读写 |
网址中完整的请求消息路径,不包括任何查询参数。 |
代理请求 |
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 的请求相关的所有查询参数列表。 要使用 JavaScript 迭代查询参数名称,请参阅以下 Apigee 社区帖子:如何在 JS 中迭代来自“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 | 只读 |
TransportMessage 类型的消息,是一个上下文对象。 |
代理请求 |
message.uri |
字符串 | 只读 |
包含查询参数的完整 URI 路径(位于网域网址后面)。 例如,对于请求“http://api.apifactory.com/inventors?name=nikola&surname=tesla”,此变量返回“inventors?name=nikola&surname=tesla”。 |
代理请求 |
message.verb |
字符串 | 只读 |
与请求相关的 HTTP 动词( |
代理请求 |
message.version |
字符串 | 读写 |
与从客户端应用发送到 ProxyEndpoint 的请求相关的 HTTP 版本。 |
代理请求 |
如需详细了解消息,请参阅消息模板函数参考文档。
messageid
容纳请求的全局唯一 ID 的容器。
下表介绍了 messageid
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
messageid |
字符串 | 只读 |
保存请求的全局唯一 ID,其中包括路由器主机名。此 ID 允许在将路由器收到的请求发送到消息处理器后对其进行跟踪。 此 ID 记录在 Edge 错误日志中,用于将 |
代理请求 |
organization
organization.name
属性的容器。
下表介绍了 organization
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
organization.name |
字符串 | 只读 |
组织名称。 |
代理请求 |
如需详细了解组织,请参阅了解组织。
proxy
API 代理配置。
下表介绍了 proxy
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
proxy.basepath |
字符串 | 只读 |
API 代理配置中基本路径的值。基本路径是网址中位于主机后面的 URI 片段。条件流 URI 遵循基本路径。 在网址“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 |
字符串 | 只读 |
从客户端发送并在 ProxyEndpoint 接收的 API 代理基本路径后缀值。 基本路径定义为唯一标识 API 代理的路径组成部分。API 代理的公开网址由您的组织名称、部署代理的环境、基本路径、基本路径后缀,以及某个查询参数组成。 例如,在对 |
代理请求 |
proxy.url |
字符串 | 只读 |
获取与 ProxyEndpoint 收到的代理请求关联的完整网址。
包括存在的任何查询参数。
网址的主机值始终为 |
代理请求 |
如需详细了解如何使用 API 代理,请参阅了解 API 和 API 代理。
request
完整的请求,包括存在的任何载荷。
如需详细了解请求数据,请参阅如何将请求数据传递给后端服务器?
下表介绍了 request
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
request |
message |
只读 |
完整的请求,包括存在的任何载荷。 |
代理请求 |
request.content |
字符串 | 读写 |
获取或设置请求消息的载荷。 |
代理请求 |
request.formparam.param_name |
字符串 | 读写 |
获取或设置从客户端应用发送的请求中指定表单参数的值。 |
代理请求 |
request.formparam.param_name. |
集合 | 只读 |
请求中特定表单参数的所有值,采用逗号分隔列表格式。 例如,如果负载为“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 |
字符串 | 只读 |
从客户端应用发出的请求中的完整 例如,“name=test&type=first&group=A”。 |
代理请求 |
request.header.header_name |
字符串 | 读写 |
获取或设置在请求中找到的特定标头的值。如果标头包含逗号,则在阅读时您只能接收截止到第一个逗号为止的文本片段。 如果您需要完整的标头,请使用 |
代理请求 |
request.header.header_name.N |
字符串 | 读写 |
请求中第 N 个特定标头值的值。Apigee Edge 使用逗号分隔标头文本值。请注意,用于 N 的索引值从 1 开始,而不是从 0 开始。 例如,如果 |
代理请求 |
request.header.header_name. |
集合 | 只读 |
请求中特定标头的所有值。 |
代理请求 |
request.header.header_name. |
整数 | 只读 |
请求中特定标头的所有值的计数。 |
代理请求 |
request.headers.count |
整数 | 只读 |
请求中的所有标头的计数。 |
代理请求 |
request.headers.names |
集合 | 只读 |
请求中所有标头的名称。 |
代理请求 |
request.path |
字符串 | 只读 |
指向后端服务的非代理资源路径(不包括主机),不包括查询参数。 例如,后端服务的 URI 是“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 |
集合 | 只读 |
请求中所有查询参数的名称。 要使用 JavaScript 迭代查询参数名称,请在 Apigee 社区中查看如何在 JS 中迭代来自“request.queryparams.names”的集合?。 |
代理请求 |
request.querystring |
字符串 | 只读 |
从客户端应用发出的请求中的完整查询参数列表。 例如,如果请求为“http://host.com/123?name=first&surname=second&place=address”,则此变量返回“name=first&surname=second&place=address”。 |
代理请求 |
request.transportid |
字符串 | 只读 |
TransportMessage 类型的请求 ID,该请求是一个上下文对象。 |
代理请求 |
request.transport.message |
Transport-Message | 只读 |
TransportMessage 类型请求,是一个上下文对象。 |
代理请求 |
request.uri |
字符串 | 只读 |
在 API 代理中,ProxyEndpoint 中的代理
指向
在请求中, 在响应中, 这种区别是因为原始请求进入了代理,但代理随后向目标服务发出另一个请求。 假设对我们的示例代理进行了以下调用,该代理的基本路径为“/my-mock-proxy”:
代理调用了:
这将“/user?user=Dude”附加到网址。
|
代理请求(响应不同) |
request.url |
字符串 | 只读 |
向目标端点发出的请求的完整网址,包括查询字符串参数,但不包含端口号(如果已指定)。 例如,如果您调用示例代理“http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude”,且目标端点为“http://example.com:8080”,则值为:
|
目标响应 |
request.verb |
字符串 | 只读 |
用于请求的 HTTP 动词。例如,“获取”,“放置”和“删除”。 |
代理请求 |
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 的索引值从 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 的名称。例如,“默认”。 |
目标请求 |
router
router.uuid
属性的容器,已被弃用。
下表介绍了 router
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
router.uuid |
字符串 | 只读 |
已弃用并返回 null。(原处理代理的路由器的 UUID。) |
代理请求 |
servicecallout
描述 ServiceCallout 政策的 TargetEndpoint。
下表介绍了 servicecallout
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
servicecallout.policy_name.expectedcn |
字符串 | 读写 |
ServiceCallout 政策政策中提到的 TargetEndpoint 的预期通用名称。只有当 TargetEndpoint 引用 传输至 TLS/SSL 端点。 |
代理请求 |
servicecallout.policy_name.target.url |
字符串 | 读写 |
特定 ServiceCallout 政策的 TargetEndpoint 网址。 |
代理请求 |
servicecallout.requesturi |
字符串 | 读写 |
ServiceCallout 政策政策的 TargetEndpoint URI。URI 是不包含协议和网域规范的 TargetEndpoint 网址。 |
代理请求 |
system
指定系统的 IP 地址,以及有关代理的详细信息。
下表介绍了 system
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
system.interface.interface_name |
字符串 | 只读 |
系统的 IP 地址。 |
代理请求 |
system.pod.name |
字符串 | 只读 |
代理在其中运行的 pod 的名称。 |
代理请求 |
system.region.name |
字符串 | 只读 |
数据中心的名称 <ph type="x-smartling-placeholder"></ph> 区域。 |
代理请求 |
system.time |
字符串 | 只读 |
读取此变量的时间。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此值是字符串表示形式,有相应的 |
代理请求 |
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 |
长 | 只读 |
64 位(长)整数,表示此变量被读取的时间。该值是从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。例如,“1534783015000”。 |
代理请求 |
system.uuid |
字符串 | 只读 |
处理代理的消息处理器的 UUID。 |
代理请求 |
target
描述请求的目标。
下表介绍了 target
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
target.basepath |
字符串 | 只读 |
已在代理的 TargetEndpoint 中作出定义的指向目标服务的资源路径(不包括网域),不包括查询参数。 例如,假设 API 代理调用以下目标:
在此示例中, 如果目标为:
|
目标请求 |
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 端点。 |
代理请求 |
target.host |
字符串 | 只读 |
将响应返回到 API 代理的目标服务的域名。 |
目标响应 |
target.ip |
字符串 | 只读 |
将响应返回到 API 代理的目标服务的 IP 地址。 |
目标响应 |
target.locality |
字符串 | 只读 |
目标服务器提供的 TLS/SSL 证书中显示的市行政区(城市) |
目标响应 |
target.name |
字符串 | 只读 |
从 Targetendpoint 接收消息的目标。 |
目标请求 |
target.organization |
字符串 | 只读 |
目标服务器提供的 TLS/SSL 证书中显示的组织。 |
目标响应 |
target.organization.unit |
字符串 | 只读 |
目标服务器提供的 TLS/SSL 证书中显示的组织单元。 |
目标响应 |
target.port |
整数 | 只读 |
将响应返回到 API 代理的目标服务的端口号。 |
目标响应 |
target.received.end.time |
字符串 | 只读 |
TargetEndpoint 完成从目标接收响应的时间(以字符串形式表示)。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此时间值是字符串表示形式,有相应的 32 位时间戳数量表示形式。例如,世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”对应时间戳值“1377112607413”。 |
目标响应 |
target.received.end. |
长 | 只读 |
指定 TargetEndpoint 完成从目标接收响应的时间戳值。例如,“1534783015000”。此值是一个 64 位(长)整数,其中指明了从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 |
目标响应 |
target.received.start.time |
字符串 | 只读 |
TargetEndpoint 开始从目标接收响应的时间(以字符串形式表示)。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此时间值是字符串表示形式,有相应的 32 位时间戳数量表示形式。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”对应时间戳值“1377112607413”。 |
目标响应 |
target.received.start. |
长 | 只读 |
指定 TargetEndpoint 开始从目标接收响应的时间戳值。例如,“1534783015000”。此值是一个 64 位(长)整数,其中指明了从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 |
目标响应 |
target.scheme |
字符串 | 只读 |
范围开始:目标响应 根据请求消息返回 http 或 https。 |
目标请求 |
target.sent.end.time |
字符串 | 只读 |
代理停止向 TargetEndpoint 指定网址发送请求的时间(以字符串形式表示)。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此时间值是字符串表示形式,有相应的 32 位时间戳数量表示形式。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”对应时间戳值“1377112607413”。 |
目标请求 |
target.sent.end.timestamp |
长 | 只读 |
指定代理停止向 TargetEndpoint 指定网址发送请求的时间戳值。例如,“1377112607413”。此值是一个 64 位(长)整数,其中包含从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 |
目标请求 |
target.sent.start.time |
字符串 | 只读 |
代理开始向 TargetEndpoint 指定网址发送请求的时间(以字符串形式表示)。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”。 此时间值是字符串表示形式,有相应的 32 位时间戳数量表示形式。例如,“世界协调时间 (UTC) 2013 年 8 月 21 日星期三 19:16:47”对应时间戳值“1377112607413”。 |
目标请求 |
target.sent.start.timestamp |
长 | 只读 |
指定代理开始向 TargetEndpoint 指定网址发送请求的时间戳值。例如,“1534783015000”。此值是一个 64 位(长)整数,其中指明了从世界协调时间 (UTC) 1970 年 1 月 1 日午夜起到操作发生时所经过的毫秒数。 |
目标请求 |
target.ssl.enabled |
布尔值 | 只读 |
TargetEndpoint 是否在 TLS/SSL 上运行。 |
代理请求 |
target.state |
字符串 | 只读 |
目标服务器提供的 TLS/SSL 证书中显示的状态。 |
目标响应 |
target.url |
字符串 | 读写 |
在 TargetEndpoint XML 文件或动态目标网址中配置的网址(前提是在消息流过程中已设置 |
目标请求 |
variable
variable.expectedcn
属性的容器。
下表介绍了 variable
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
variable.expectedcn |
字符串 | 读写 |
为通用名称公开的变量(如果变量在 TLS/SSL 上运行)。 |
代理请求 |
如需详细了解如何使用 TLS,请参阅 TLS/SSL 简介。
virtualhost
指定有关虚拟主机的详细信息。
下表介绍了 virtualhost
变量的属性:
属性 | 类型 | 读写 | 说明 | 范围开始 |
---|---|---|---|---|
virtualhost.aliases.values |
字符串数组 | 只读 |
特定请求期间所命中的虚拟主机的主机别名。 |
代理请求 |
virtualhost.name |
字符串 | 只读 |
处理源客户端请求的虚拟主机的名称。 |
代理请求 |
virtualhost.ssl.enabled |
布尔值 | 只读 |
返回“true”如果虚拟主机配置中启用了 TLS/SSL。 |
代理请求 |
如需详细了解如何使用虚拟主机,请参阅配置虚拟主机。