保持ルール

概要

保持データをデータベースから1日1回削除するためのルールが使用されます。 削除対象となるデータは保持ルールを直接示します。 例えば、dataType=EVENTおよびmaximumAge=30とする保持ルールは、30日間を経過したイベントをすべてシステムから削除します。 保持ルールインターフェースは以下の要素で構成されます。

保持ルールコレクション

保持ルールコレクション [application/vnd.com.nsn.cumulocity.retentionRuleCollection+json]

名称 タイプ 発生回数 説明
self URI 1 このリソースへのリンク
retentionRules RetentionRule 0..n 保持ルールのリスト(下記参照)
statistics PagingStatistics 1 ページング統計に関する情報
prev URI 0..1 テナントの前のページへのリンク(あれば)
next URI 0..1 テナントの次のページへのリンク(あれば)

GET - 保持ルールコレクションの表現の取得

応答本体: RetentionRuleCollection

要求されるロール: ROLE_RETENTION_RULE_READ

リクエスト例: sample_tenant として保持ルールを取得する

GET ...
Host: ...
Authorization: Basic ...
Accept: application/vnd.com.nsn.cumulocity.retentionRuleCollection+json;ver=...

応答例:

HTTP/1.1 200 OK
Content-Type: application/vnd.com.nsn.cumulocity.retentionRuleCollection+json;ver=...
Content-Length: ...
{
"statistics": {
    "currentPage": 1,
    "pageSize": 5,
    "totalPages": 1
},
"retentionRules": [
    {
        "dataType": "ALARM",
        "fragmentType": "fragmentType",
        "id": 1,
        "maximumAge": 12,
        "self": "<<URL of retentionRule>>",
        "source": "source",
        "type": "type"
    },
    {
        "dataType": "ALARM",
        "fragmentType": "fragmentType",
        "id": 2,
        "maximumAge": 12,
        "self": "<<URL of retentionRule>>",
        "source": "source",
        "type": "type"
    },
    {
        "dataType": "*",
        "fragmentType": "*",
        "id": 5,
        "maximumAge": 12,
        "self": "<<URL of retentionRule>>",
        "source": "*",
        "type": "*"
    },
    {
        "dataType": "ALARM",
        "fragmentType": "fragmentTypeUpdated",
        "id": 3,
        "maximumAge": 24,
        "self": "<<URL of retentionRule>>",
        "source": "source",
        "type": "type"
    }
],
"self": "<<URL of current page>>"
}

POST - 新規保持ルールの作成

リクエスト本体: RetentionRule

応答本体: RetentionRule

要求されるロール: ROLE_RETENTION_RULE_ADMIN

リクエスト例 (全体POST):

POST ...
Host: ...
Authorization: Basic ...
Content-Length: ...
Content-Type: application/vnd.com.nsn.cumulocity.retentionRule+json;ver...

{
    "dataType":"ALARM",
    "fragmentType":"fragmentType",
    "type":"type",
    "source":"source",
    "maximumAge":"12"
}

応答例 (全体POST):

HTTP/1.1 201 Created
Content-Type: application/vnd.com.nsn.cumulocity.retentionRule+json;ver=...
Content-Length: ...
Location: <<URL of new retentionRule>>

{
    "id" : "<<ID of new retetionRule>>",
    "self" : "<<URL of new retetionRule>>",
    "dataType":"ALARM",
    "fragmentType":"fragmentType",
    "type":"type",
    "source":"source",
    "maximumAge":"12",
    "editable":"true"
}

リクエスト例 (部分POST):

POST ...
Host: ...
Authorization: Basic ...
Content-Length: ...
Content-Type: application/vnd.com.nsn.cumulocity.retentionRule+json;ver...

{
    "dataType":"ALARM",
    "maximumAge":"12"
}

応答例 (部分POST):

HTTP/1.1 201 Created
Content-Type: application/vnd.com.nsn.cumulocity.retentionRule+json;ver=...
Content-Length: ...
Location: <<URL of new retentionRule>>

{
    "id" : "<<ID of new retetionRule>>",
    "self" : "<<URL of new retetionRule>>",
    "dataType":"ALARM",
    "fragmentType":"*",
    "type":"*",
    "source":"*",
    "maximumAge":"12",
    "editable":"true"
}

保持ルール

保持ルール [application/vnd.com.nsn.cumulocity.retentionRule+json]

名称 タイプ 発生回数 説明 可視性
self URI 0..1 このリソースへのリンク 公開
id Long 1 保持ルールのID 公開
dataType String 0..1 保持ルールはこのタイプのドキュメントに適用されます。値は次のいずれか:[ALARM、AUDIT、EVENT、MEASUREMENT、OPERATION、*] 公開
fragmentType String 0..1 保持ルールはフラグメントタイプを持つドキュメントに適用されます 公開
type String 0..1 保持ルールはタイプを持つドキュメントに適用されます 公開
source String 0..1 保持ルールはソースを持つドキュメントに適用されます 公開
maximumAge Long 1 ドキュメントの最大保持日数 公開
editable boolean 1 ルールの編集可否。管理テナントのみが更新できます 公開

GET - 保持ルールの表現

応答本体: RetentionRule

要求されるロール: ROLE_RETENTION_RULE_READ

リクエスト例: 単一の保持ルールの取得

GET ...
Host: ...
Authorization: Basic ...
Accept: application/vnd.com.nsn.cumulocity.retentionRule+json;ver=...

応答例:

HTTP/1.1 200 OK
Content-Type: application/vnd.com.nsn.cumulocity.retentionRule+json;ver=...
Content-Length: ...
{
    "dataType": "EVENT",
    "fragmentType": "*",
    "id" : "<<ID of new retetionRule>>",
    "maximumAge": 12,
    "self" : "<<URL of new retetionRule>>",
    "source": "source",
    "type": "*",
    "editable":"true"

}

PUT - 既存の保持ルールの更新

リクエスト本体: RetentionRule

応答本体: RetentionRule

要求されるロール: ROLE_RETENTION_RULE_ADMIN

リクエスト例:

PUT ...
Host: ...
Authorization: Basic ...
Content-Length: ...
Accept: application/vnd.com.nsn.cumulocity.retentionRule+json;ver=...
Content-Type: application/vnd.com.nsn.cumulocity.retentionRule+json;ver=...

{
    "fragmentType":"fragmentTypeUpdated"
}

応答例 :

HTTP/1.1 200 OK
Content-Type: application/vnd.com.nsn.cumulocity.tenant+json;ver=...
Content-Length: ...
{
    "dataType": "EVENT",
    "fragmentType": "fragmentTypeUpdated",
    "id" : "<<ID of new retetionRule>>",
    "maximumAge": 12,
    "self" : "<<URL of new retetionRule>>",
    "source": "source",
    "type": "*",
    "editable":"true"
}

DELETE - 保持ルールの表現の削除

リクエスト本体: N/A

応答本体: N/A

要求されるロール: ROLE_RETENTION_RULE_ADMIN

リクエスト例:

DELETE [URL to the resource]
Host: [hostname]
Authorization: Basic xxxxxxxxxxxxxxxxxxx

応答例:

HTTP/1.1  204 NO CONTENT