你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

规则匹配条件

在 Azure Front Door 规则集中,规则由零个或多个匹配条件以及一个操作组成。 本文详细介绍了可在 Azure Front Door 规则集中使用的匹配条件。

重要

Azure Front Door(经典版)将于 2027 年 3 月 31 日停用。 为了避免任何服务中断,请务必在 2027 年 3 月之前将 Azure Front Door(经典版)配置文件迁移到 Azure Front Door 标准层或高级层。 有关详细信息,请参阅 Azure Front Door(经典版)停用

在 Azure Front Door(经典)规则引擎中,规则由零个或多个匹配条件以及一个操作组成。 本文详细介绍了可在 Azure Front Door(经典)规则引擎中使用的匹配条件。

规则的第一部分是一个匹配条件或一组匹配条件。 一个规则最多可包含 10 个匹配条件。 匹配条件指定要对其执行所定义操作的特定请求类型。 如果使用多个匹配条件,则匹配条件使用 AND 逻辑组合在一起。 对于支持多个值的所有匹配条件,使用 OR 逻辑。

使用匹配条件,可以进行以下筛选:

  • 基于特定的 IP 地址、端口或国家/地区来筛选请求。
  • 按标头信息筛选请求。
  • 筛选来自移动设备或桌面设备的请求。
  • 根据请求文件名和文件扩展名筛选请求。
  • 按主机名、SSL 协议、请求 URL、协议、路径、查询字符串、post 参数和其他值来筛选请求。
  • 基于特定的 IP 地址或国家/地区来筛选请求。
  • 按标头信息筛选请求。
  • 筛选来自移动设备或桌面设备的请求。
  • 根据请求文件名和文件扩展名筛选请求。
  • 按请求 URL、协议、路径、查询字符串、post 参数和其他值来筛选请求。

设备类型

使用“设备类型”匹配条件来识别从移动设备或桌面设备发出的请求。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:EqualNot Equal
  • 在 ARM 模板中:Equal;使用 negateCondition 属性指定 Not Equal
MobileDesktop

示例

在本示例中,我们将匹配所有被检测为来自移动设备的请求。

显示“设备类型”匹配条件的门户屏幕截图。

HTTP 版本

使用 HTTP 版本匹配条件来标识使用特定版本的 HTTP 协议发出的请求。

注意

HTTP 版本匹配条件仅适用于 Azure Front Door 标准版/高级版。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:EqualNot Equal
  • 在 ARM 模板中:Equal;使用 negateCondition 属性指定 Not Equal
2.01.11.00.9

示例

在本示例中,我们将匹配所有使用 HTTP 2.0 协议发送的请求。

显示 HTTP 版本匹配条件的门户屏幕截图。

请求 Cookie

使用请求 Cookie 匹配条件来标识包含特定 Cookie 的请求。

注意

请求 Cookie 匹配条件仅适用于 Azure Front Door 标准版/高级版。

属性

属性 支持的值
Cookie 名称 一个表示 Cookie 名称的字符串值。
运算符 标准运算符列表中的任何运算符。
一个或多个字符串或整数值,表示要匹配的请求头的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配名为 deploymentStampId 且值为 1 的 Cookie 的所有请求。

显示请求 Cookie 匹配条件的门户屏幕截图。

Post 参数

使用“post 参数”匹配条件,可以根据 POST 请求正文中提供的参数来识别请求。 单个匹配条件匹配 POST 请求正文中的单个参数。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

注意

“post 参数”匹配条件适用于 application/x-www-form-urlencoded 内容类型。

属性

属性 支持的值
Post 参数 一个表示 POST 参数名称的字符串值。
运算符 标准运算符列表中的任何运算符。
一个或多个字符串或整数值,表示要匹配的 POST 参数的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配所有 POST 请求,其中,customerName 参数是在请求正文中提供的,并且 customerName 值以字母 JK 开头。 我们使用大小写转换将输入值转换为大写,这样所有以 JjKk 开头的值都会匹配。

显示“post 参数”匹配条件的门户屏幕截图。

查询字符串

使用“查询字符串”匹配条件,可以标识包含特定查询字符串的请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

注意

整个查询字符串是作为单个字符串匹配的,不包含前导 ?

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 query string 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
查询字符串 一个或多个字符串或整数值,表示要匹配的查询字符串的值。 不要在查询字符串的开头加上 ?。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配查询字符串包含 language=en-US 字符串情况下的所有请求。 我们需要让匹配条件区分大小写,因此我们不转换大小写。

显示“查询字符串”匹配条件的门户屏幕截图。

远程地址

“远程地址”匹配条件根据请求者的位置或 IP 地址来识别请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

  • 在指定 IP 地址块时使用 CIDR 表示法。 IP 地址块的语法为 IP 基址后跟正斜杠和前缀大小。 例如:
    • IPv4 示例:5.5.5.64/26 匹配来自地址 5.5.5.64 到 5.5.5.127 的所有请求。
    • IPv6 示例:1:2:3:/48 匹配来自地址 1:2:3:0:0:0:0:0 到 1:2:3: ffff:ffff:ffff:ffff:ffff 的所有请求。
  • 当你指定多个 IP 地址和 IP 地址块时,将应用“OR”逻辑。
    • IPv4 示例:如果添加两个 IP 地址 1.2.3.410.20.30.40,当有任何来自 1.2.3.4 或 10.20.30.40 地址的请求时,会匹配此条件。
    • IPv6 示例:如果添加两个 IP 地址 1:2:3:4:5:6:7:810:20:30:40:50:60:70:80,当有任何来自 1:2:3:4:5:6:7:8 或 10:20:30:40:50:60:70:80 地址的请求时,会匹配此条件。
  • 远程地址代表原始客户端 IP,该 IP 来自网络连接,或者如果用户在代理后面,通常为 X-Forwarded-For 请求头。 如果需要根据 TCP 请求的 IP 地址进行匹配,请使用套接字地址匹配条件(在标准版/高级版中可用)。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:Geo MatchGeo Not MatchIP MatchIP Not Match
  • 在 ARM 模板中:GeoMatchIPMatch;使用 negateCondition 属性来指定 Geo Not Match或 IP Not Match
  • 对于 IP MatchIP Not Match 运算符:指定一个或多个 IP 地址范围。 如果指定多个 IP 地址范围,则使用 OR 逻辑对其进行评估。
  • 对于 Geo MatchGeo Not Match 运算符:使用国家/地区代码指定一个或多个位置。

示例

在本示例中,我们将匹配不是源自美国的所有请求。

显示“远程地址”匹配条件的门户屏幕截图。

请求正文

“请求正文”匹配条件根据请求正文中出现的特定文本识别请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

注意

如果请求正文的大小超过 64 KB,那么“请求正文”匹配条件只考虑前面的 64 KB。

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 request body 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个字符串或整数值,表示要匹配的请求正文文本的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配请求正文包含 ERROR 字符串情况下的所有请求。 在评估匹配之前,我们将请求正文转换为大写,这样 error 和其他大小写变体也会触发此匹配条件。

显示“请求正文”匹配条件的门户屏幕截图。

请求文件名

“请求文件名”匹配条件标识在请求 URL 中包含指定文件名的请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 request file name 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个字符串或整数值,表示要匹配的请求文件名的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配请求文件名为 media.mp4 的所有请求。 在评估匹配之前,我们将文件名转换为小写,这样 MEDIA.MP4 和其他大小写变体也会触发此匹配条件。

显示“请求文件名”匹配条件的门户屏幕截图。

请求文件扩展名

“请求文件扩展名”匹配条件标识在请求 URL 的文件名中包含指定文件扩展名的请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

注意

不要加上前导句点。 例如,请使用 html 而不是 .html

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 request file extension 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个字符串或整数值,表示要匹配的请求文件扩展名的值。 不要加上前导句点。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配请求文件扩展名为 pdfdocx 的所有请求。 在评估匹配之前,我们将请求文件扩展名转换为小写,这样 PDFDocX 和其他大小写变体也会触发此匹配条件。

显示“请求文件扩展名”匹配条件的门户屏幕截图。

请求标头

“请求头”匹配条件标识请求中包含特定标头的那些请求。 你可以使用此匹配条件来检查标头是否存在,或检查标头是否与指定的值匹配。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
标头名称 一个表示 POST 参数名称的字符串值。
运算符 标准运算符列表中的任何运算符。
一个或多个字符串或整数值,表示要匹配的请求头的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配请求中包含名为 MyCustomHeader 的标头(不考虑其值)的所有请求。

显示“请求头”匹配条件的门户屏幕截图。

请求方法

“请求方法”匹配条件标识使用指定 HTTP 请求方法的那些请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:EqualNot Equal
  • 在 ARM 模板中:Equal;使用 negateCondition 属性指定 Not Equal
请求方法 以下来源的一个或多个 HTTP 方法:GETPOSTPUTDELETEHEADOPTIONSTRACE。 如果指定多个值,则使用 OR 逻辑对其进行评估。

示例

在本示例中,我们将匹配使用 DELETE 方法的所有请求。

显示“请求方法”匹配条件的门户屏幕截图。

请求路径

“请求路径”匹配条件标识在请求 URL 中包含指定路径的请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

注意

该路径是 URL 的一部分,位于主机名和斜杠之后。 例如,在 URL https://www.contoso.com/files/secure/file1.pdf 中,路径为 files/secure/file1.pdf

属性

属性 支持的值
运算符
  • 支持标准运算符列表中的所有运算符。 但是,当与 request path 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
  • 通配符:在请求路径与通配符表达式匹配时匹配。 通配符表达式可以包含 * 字符,用于与路径中的零个或零个以上的字符匹配。 例如,通配符表达式 files/customer*/file.pdf 与路径 files/customer1/file.pdffiles/customer109/file.pdffiles/customer/file.pdf 匹配,但与 files/customer2/anotherfile.pdf 不匹配。
    • 在 Azure 门户中:WildcardsNot Wildcards
    • 在 ARM 模板中:Wildcard;使用 negateCondition 属性指定“非通配符”
一个或多个字符串或整数值,表示要匹配的请求路径的值。 如果指定前导斜杠,则会忽略它。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。
属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 request path 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个字符串或整数值,表示要匹配的请求路径的值。 如果指定前导斜杠,则会忽略它。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配请求文件路径以 files/secure/ 开头的所有请求。 在评估匹配之前,我们将请求文件扩展名转换为小写,这样对 files/SECURE/ 和其他大小写变体的请求也将触发此匹配条件。

显示“请求路径”匹配条件的门户屏幕截图。

请求协议

“请求协议”匹配条件标识使用指定协议(HTTP 或 HTTPS)的请求。

注意

“协议”有时也称为“方案”。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:EqualNot Equal
  • 在 ARM 模板中:Equal;使用 negateCondition 属性指定 Not Equal
请求方法 HTTPHTTPS

示例

在本示例中,我们将匹配使用 HTTP 协议的所有请求。

显示“请求协议”匹配条件的门户屏幕截图。

请求 URL

识别那些与指定 URL 匹配的请求。 将评估整个 URL,包括协议和查询字符串,但不包括片段。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

提示

使用此规则条件时,请确保包含协议和尾随正斜杠 /。 例如,使用 https://www.contoso.com/ 而不只是 www.contoso.com

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 request URL 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个字符串或整数值,表示要匹配的请求 URL 的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何转换。

示例

在本示例中,我们将匹配请求 URL 以 https://api.contoso.com/customers/123 开头的所有请求。 在评估匹配之前,我们将请求文件扩展名转换为小写,这样对 https://api.contoso.com/Customers/123 和其他大小写变体的请求也将触发此匹配条件。

显示“请求 URL”匹配条件的门户屏幕截图。

主机名

“主机名”匹配条件根据客户端请求中指定的主机名来识别请求。 匹配条件使用 Host 标头值来评估主机名。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 host name 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个字符串值,表示要匹配的请求主机名的值。 如果指定多个值,则使用 OR 逻辑对其进行评估。
大小写转换 标准字符串转换列表中的任何大小写转换。

示例

在此示例中,我们将匹配其 Host 标头以 contoso.com 结尾的所有请求。

显示主机名匹配条件的门户屏幕截图。

SSL 协议

“SSL 协议”匹配条件根据已建立的 TLS 连接的 SSL 协议来识别请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:EqualNot Equal
  • 在 ARM 模板中:Equal;使用 negateCondition 属性指定 Not Equal
SSL 协议
  • 在 Azure 门户中:1.01.11.2
  • 在 ARM 模板中:TLSv1TLSv1.1TLSv1.2

示例

在此示例中,我们将匹配使用 TLS 1.2 协议的所有请求。

显示 SSL 协议匹配条件的门户屏幕截图。

套接字地址

“套接字地址”匹配条件根据与 Azure Front Door 边缘的直接连接的 IP 地址来识别请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

注意

如果客户端使用 HTTP 代理或负载均衡器来发送请求,则套接字地址为该代理或负载均衡器的 IP 地址。

如果需要基于客户端的原始 IP 地址进行匹配,请使用“远程地址”匹配条件。

  • 在指定 IP 地址块时使用 CIDR 表示法。 也就是说,IP 地址块的语法是,基本 IP 地址后跟一个正斜杠和前缀大小。 例如:
    • IPv4 示例:5.5.5.64/26 匹配来自地址 5.5.5.64 到 5.5.5.127 的所有请求。
    • IPv6 示例:1:2:3:/48 匹配来自地址 1:2:3:0:0:0:0:0 到 1:2:3: ffff:ffff:ffff:ffff:ffff 的所有请求。
  • 当你指定多个 IP 地址和 IP 地址块时,将应用“OR”逻辑。
    • IPv4 示例:如果添加两个 IP 地址 1.2.3.410.20.30.40,当有任何来自 1.2.3.4 或 10.20.30.40 地址的请求时,会匹配此条件。
    • IPv6 示例:如果添加两个 IP 地址 1:2:3:4:5:6:7:810:20:30:40:50:60:70:80,当有任何来自 1:2:3:4:5:6:7:8 或 10:20:30:40:50:60:70:80 地址的请求时,会匹配此条件。

属性

属性 支持的值
运算符
  • 在 Azure 门户中:IP MatchNot IP Match
  • 在 ARM 模板中:IPMatch;使用 negateCondition 属性指定“非 IP 匹配”
指定一个或多个 IP 地址范围。 如果指定多个 IP 地址范围,则使用 OR 逻辑对其进行评估。

示例

在此示例中,我们将匹配来自 5.5.5.64/26 范围内的 IP 地址的所有请求。

显示套接字地址匹配条件的门户屏幕截图。

客户端端口

“客户端端口”匹配条件根据发出请求的客户端的 TCP 端口来识别请求。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 client port 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
一个或多个端口号,以整数表示。 如果指定多个值,则使用 OR 逻辑对其进行评估。

示例

在此示例中,我们将匹配客户端端口为 1234 的所有请求。

显示客户端端口匹配条件的门户屏幕截图。

服务器端口

“服务器端口”匹配条件根据接受请求的 Azure Front Door 服务器的 TCP 端口来识别请求。 端口必须是 80 或 443。 你可以指定要匹配的多个值,这些值可以使用 OR 逻辑组合在一起。

属性

属性 支持的值
运算符 支持标准运算符列表中的所有运算符。 但是,当与 server port 匹配条件一起使用时,Any 匹配条件会匹配每个请求,Not Any 匹配条件会与任何请求都不匹配。
端口号,必须是 80 或 443。 如果指定多个值,则使用 OR 逻辑对其进行评估。

示例

在此示例中,我们将匹配服务器端口为 443 的所有请求。

显示服务器端口匹配条件的门户屏幕截图。

操作员列表

对于那些接受标准运算符列表中的值的规则,以下运算符有效:

运算符 说明 ARM 模板支持
任意 当存在任何值时匹配,不管具体是什么值。 operator: Any
等于 当值与指定的字符串完全匹配时匹配。 operator: Equal
Contains 当值包含指定的字符串时匹配。 operator: Contains
小于 当值的长度小于指定的整数时匹配。 operator: LessThan
大于 当值的长度大于指定的整数时匹配。 operator: GreaterThan
小于或等于 当值的长度小于或等于指定的整数时匹配。 operator: LessThanOrEqual
大于或等于 当值的长度大于或等于指定的整数时匹配。 operator: GreaterThanOrEqual
开头为 当值以指定的字符串开头时匹配。 operator: BeginsWith
结尾为 当值以指定的字符串结尾时匹配。 operator: EndsWith
非任意 当没有任何值时匹配。 operator: AnynegateCondition : true
Not Equal 当值与指定的字符串不匹配时匹配。 operator: EqualnegateCondition : true
不包含 当值不包含指定的字符串时匹配。 operator: ContainsnegateCondition : true
不小于 当值的长度不小于指定的整数时匹配。 operator: LessThannegateCondition : true
不大于 当值的长度不大于指定的整数时匹配。 operator: GreaterThannegateCondition : true
不小于或等于 当值的长度不小于或等于指定的整数时匹配。 operator: LessThanOrEqualnegateCondition : true
不大于或等于 当值的长度不大于或等于指定的整数时匹配。 operator: GreaterThanOrEqualnegateCondition : true
开头不是 当值不以指定的字符串开头时匹配。 operator: BeginsWithnegateCondition : true
结尾不是 当值不以指定的字符串结尾时匹配。 operator: EndsWithnegateCondition : true
运算符 说明 ARM 模板支持
任意 当存在任何值时匹配,不管具体是什么值。 operator: Any
等于 当值与指定的字符串完全匹配时匹配。 operator: Equal
Contains 当值包含指定的字符串时匹配。 operator: Contains
小于 当值的长度小于指定的整数时匹配。 operator: LessThan
大于 当值的长度大于指定的整数时匹配。 operator: GreaterThan
小于或等于 当值的长度小于或等于指定的整数时匹配。 operator: LessThanOrEqual
大于或等于 当值的长度大于或等于指定的整数时匹配。 operator: GreaterThanOrEqual
开头为 当值以指定的字符串开头时匹配。 operator: BeginsWith
结尾为 当值以指定的字符串结尾时匹配。 operator: EndsWith
正则表达式 当值匹配指定的正则表达式时匹配。 详见下文。 operator: RegEx
非任意 当没有任何值时匹配。 operator: AnynegateCondition : true
Not Equal 当值与指定的字符串不匹配时匹配。 operator: EqualnegateCondition : true
不包含 当值不包含指定的字符串时匹配。 operator: ContainsnegateCondition : true
不小于 当值的长度不小于指定的整数时匹配。 operator: LessThannegateCondition : true
不大于 当值的长度不大于指定的整数时匹配。 operator: GreaterThannegateCondition : true
不小于或等于 当值的长度不小于或等于指定的整数时匹配。 operator: LessThanOrEqualnegateCondition : true
不大于或等于 当值的长度不大于或等于指定的整数时匹配。 operator: GreaterThanOrEqualnegateCondition : true
开头不是 当值不以指定的字符串开头时匹配。 operator: BeginsWithnegateCondition : true
结尾不是 当值不以指定的字符串结尾时匹配。 operator: EndsWithnegateCondition : true
非正则表达式 当值不匹配指定的正则表达式时匹配。 详见下文。 operator: RegExnegateCondition : true

提示

对于数字运算符(例如“小于”和“大于或等于”),使用的比较基于长度。 匹配条件中的值应该是一个整数,指定你要比较的长度。

正则表达式

正则表达式不支持以下操作:

  • 向后引用和捕获子表达式。
  • 任意零宽断言。
  • 子例程引用和递归模式。
  • 条件模式。
  • 回溯控制谓词。
  • \C 单字节指令。
  • \R 换行符匹配指令。
  • \K 启动匹配重置指令。
  • 标注和嵌入代码。
  • 原子组和所有格限定符。

字符串转换列表

对于可以转换字符串的规则,以下转换有效:

转换 说明 ARM 模板支持
转换为小写 将字符串转换为小写表示形式。 Lowercase
转换为大写 将字符串转换为大写表示形式。 Uppercase
Trim 剪裁字符串中的前导和尾随空格。 Trim
删除 NULL 从字符串中删除 NULL 值。 RemoveNulls
URL 编码 对字符串进行 URL 编码。 UrlEncode
URL 解码 对字符串进行 URL 解码。 UrlDecode

后续步骤