对列表结果进行排序和过滤

Cloud Key Management Service 支持对来自以下 list 操作的结果进行过滤和排序。

如果列表请求正文中存在 filter 和 orderBy 字符串字段,则表示支持 list 操作中的排序和过滤。这两个字段都使用简单的语言引用要排序和/或过滤的对象中的字段。

过滤器语法

过滤器语法由要过滤的对象的一个或多个字段上的表达式组成。

您可以使用以下表达式运算符。

运算符 说明
= 相等。
> 大于。
< 小于。
=> 大于或等于。
<= 小于或等于。
!=
-
NOT
不相等。
以下表达式是等效的:
name != "quickstart"
-name="quickstart"
NOT name = "quickstart"
: 包含关系。这是一个不区分大小写的子字符串匹配。
例如,name: "cloud" 用于过滤资源名称中包含 cloud(不区分大小写)的资源。
AND 逻辑与。空格相当于 ,因此以下表达式是等效的:空格相当于 AND,因此以下表达式是等效的:
name: "cloud" AND name: "kms"
name: "cloud" name: "kms"
OR 逻辑或。

AND 和 OR 运算符具有相同的分组级别。OR 优先于 AND。您可以使用括号替换默认的优先级。

过滤 time 值时,请将时间编码为 RFC 3399 格式的字符串,例如 2019-06-20T01:30:15Z。

访问子字段时,请使用点式语法。例如,CryptoKey 资源包含 primary 字段。您可以针对特定算法对 CryptoKey 结果过滤子字段 primary.algorithm:

primary.algorithm=RSA_SIGN_PSS_2048_SHA256

您可以对标签和任何其他 map 类型使用点式语法:

labels.team=alpha

用英文引号引起来的一个字符串会被解释为单个值,而不是一系列值。

可过滤的字段

您可以过滤要返回的对象中的任何字段。

list 方法 可过滤字段的链接
keyRings.list KeyRing 字段
cryptoKeys.list CryptoKey 字段
cryptoKeyVersions.list CryptoKeyVersion 字段
importJobs.list ImportJob 字段

排序顺序语法

您可以按对象的资源 name 字段对结果进行排序。下面显示了 orderBy 字段支持的排序顺序值。

值 说明
''(空字符串) 结果按默认顺序排序。
'name' 结果按资源的 name 字段升序排序。
'name desc' 结果按资源的 name 字段降序排序。
name