跳转至

通过 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 属性的特殊特性

数据库中存储的值比端点中可指定的值更精确。因此,搜索结果将基于端点的精度级别。

筛选标题属性:字符串类型数据

属性

oidstatususerdatabaseclientipClienteditTypekey

描述

根据标题属性筛选数据。

运算符

运算符 结果
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 分钟执行一次刷新。

以下数据保存在缓存中:

  • 维度特征,用于数据处理
  • 已编辑表的所有属性,用于表和数据的管理

缓存构建后所做的更改只会在下次缓存更新后显示。对于数据处理,缓存中存在的表头属性和参数始终会显示。