通过 API 筛选审计数据
简介¶
为减少检索的数据量,可以应用以下几种类型的筛选器:
- 对标题属性
- 对维度参数
查询参数¶
$filter=()
筛选标题属性:按日期筛选¶
属性¶
dateTimeUtc(格式:ISO 8601,UTC)
描述¶
根据操作日期筛选数据。
运算符¶
| 运算符 | 结果 |
|---|---|
| gt | 显示所选日期之后日期的记录。 |
| lt | 显示所选日期之前日期的记录。 |
| ge | 显示所选日期当天或之后日期的记录。 |
| le | 显示所选日期当天或之前日期的记录。 |
示例
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/dataprocessing/SOLLECITATORE_ CERTIFICAZIONI?$filter=(dateTimeUtc lt 2020-08-21T08:01:26.758Z)
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/CONTO?$filter=(dateTimeUtc gt 2020- 12- 21T08:00:00.000Z) and (dateTimeUtc lt 2020- 12-21T12:00:00.000Z)
dateTimeUtc 属性的特殊特性¶
数据库中存储的值比端点中可指定的值更精确。因此,搜索结果将基于端点的精度级别。
筛选标题属性:字符串类型数据¶
属性¶
oid、status、user、database、client、ipClient、editType 和 key。
描述¶
根据标题属性筛选数据。
运算符¶
| 运算符 | 结果 |
|---|---|
| eq | 显示参数与引号中报告的值相同的记录。 |
| ne | 显示参数与引号中报告的值不同的记录。 |
示例
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/UTENTE?$filter=(clientIp eq '10.10.10.10')
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/UTENTE?$filter=(user eq 'UTENTEA') or (user eq 'UTENTEB')
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/UTENTE?$filter=(key eq '%7BTEST, GRAFFE%7D')
注意:如果 key 属性包含花括号 {},必须如示例中那样进行编码。
筛选维度参数¶
描述¶
此筛选器应用于数据处理 API。它通过应用维度参数来筛选数据,调用返回元数据的端点。
运算符¶
| 运算符 | 结果 |
|---|---|
| eq | 显示标题字符串与引号中报告的值相同的记录。 |
| ne | 显示标题字符串与引号中报告的值不同的记录。 |
示例
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/dataprocessing/ESPLOSIONE(periodo eq '10')
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/ESPLOSIONE(raccolta ne 'ACT')
在以下两个示例中,显示的记录是“currency”参数为“无值”的记录:
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/AGGIORNA_PARAM_BANCARIE(valuta eq 'no value')
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/AGGIORNA_PARAM_BANCARIE(valuta eq null)
注意:无法对未指定的参数进行筛选(例如 “currency” : null)。
结果分页¶
描述¶
可以将返回的数据按特定特征分页显示。此类查询最多可检索 10,000 个元素。
参数¶
| 参数 | 净结果 |
|---|---|
| $top=N1 | (N1 为正整数)报告 N 条结果。 |
| $skip=N2 | (N2 为正整数)省略前 N 条结果。 |
| ?$top=N1&skip=N2 | 组合两个参数的结果。 |
注意:可以使用多个查询参数,通过 & 符号将它们连接起来。
示例
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/dataprocessing/SOLLECITATORE_ CERTIFICAZIONI?$top=2&$skip=5
http://127.0.0.1:8080/tagetikcpm/api/audit/v1/datamanagement/CONTO?$top=5
结果排序¶
可以使用以下方式对数据进行排序:
| 参数 | 净结果 |
|---|---|
| $orderby=P1 ORD,P2 ORD, ... | (P1、P2、...)这些表示要排序的属性集合(可以按一个或多个属性排序)(ORD)这表示 asc 或 desc 排序类型:分别对应升序和降序排序。 |
注意:默认情况下,如果未指定排序类型,将应用升序排序。
可执行排序的属性为表头属性:oid、dateTimeUtc、status、user、database(用户登录 API 中不存在)、client、ipClient。
此外,数据管理 API 还支持按 key 排序
可以通过 ?$orderby=P1 ORD,P2 ORD,P3 ORD. 组合多个属性。
示例
http://127.0.0.1:8080/tagetikcpm/api/audit/v2/datamanagement/CONTO?$orderby=dateTimeUtc desc
http://127.0.0.1:8080/tagetikcpm/api/audit/v2/datamanagement/CONTO?$orderby=user asc,dateTimeUtc
缓存系统¶
为优化通过 API 进行查询的性能,引入了通过系统属性 it.grupposervizi.easy.audit.odata.cache.cron 配置的缓存系统。
cron 表达式包含六个星号(*),分别表示以下字段:
- 秒
- 分
- 时
- 日
- 月
- 年
注意:如果没有该系统属性,默认值为 0 30 * * * *,因此每 30 分钟执行一次刷新。
以下数据保存在缓存中:
- 维度特征,用于数据处理
- 已编辑表的所有属性,用于表和数据的管理
缓存构建后所做的更改只会在下次缓存更新后显示。对于数据处理,缓存中存在的表头属性和参数始终会显示。