作成¶
POST /api/v1/blacklist/add
概要¶
ブラックリストを作成します
ルートパラメータ¶
| パラメータ名 | タイプ | 必須 | 説明 |
|---|---|---|---|
| name | string | Y | 名称(2024-11-27 のイテレーションで追加) 空を許可: False 空文字列を許可: False 最大長: 50 |
| desc | string | Y | 説明(2024-11-27 のイテレーションで追加) 例: 説明1 空を許可: False 空文字列を許可: True 最大長: 256 |
| type | string | Y | ブラックリストタイプ。列挙値タイプは('object', 'custom_object', 'logging', 'keyevent', 'tracing', 'rum', 'network', 'security', 'profiling', 'metric') 空を許可: False |
| source | string | Y | データソース。全ソースの場合、source は re(.*)空を許可: True 空文字列を許可: False $maxCharacterLength: 128 |
| sources | array | Y | データソース。複数ソースの場合はこのフィールドを使用します(全ソースの場合は source フィールドに re(.*) を指定)空を許可: True |
| filters | array | Y | フィルター条件 空を許可: True |
パラメータ補足説明¶
1. リクエストボディフィールドの説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| name | string | Y | 名称(2024-11-27 のイテレーションで追加) |
| desc | string | N | 説明(2024-11-27 のイテレーションで追加) |
| type | string | Y | 列挙値タイプ ('object', 'custom_object', 'logging', 'keyevent', 'tracing', 'rum', 'network', 'security', 'profiling', 'metric') |
| source | string | N | データソース。全ソースの場合、source は re(.*) |
| sources | array | N | データソース。2024-10-16 のイテレーションで追加されたフィールド。複数ソースの選択をサポート。全ソースではない場合にこのフィールドを使用可能。sources は source フィールドより優先されます。 |
| filter | array | N | フィルター条件 |
2. source フィールドの説明
ブラックリストのフィルター条件生成時、type タイプに応じてパラメータ source フィールドのキーを置き換えます。
| type | フィルター条件生成時の source フィールドに対応するキー |
|---|---|
| object | class |
| logging | source |
| custom_object | class |
| keyevent | source |
| tracing | service |
| rum | app_id |
| network | source |
| security | category |
| profiling | service |
| metric | measurement |
3. filters 配列要素のフィールド説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| name | string | N | フィルター条件名 |
| operation | string | N | 操作を指定します。例: in、not_in、match、not_match |
| condition | string | N | DQL 形式のフィルター条件 |
| values | array | N | クエリ条件の具体的な値 |
4. operation の説明 参考 行プロトコルフィルター
| key | 説明 |
|---|---|
| in | 指定されたフィールドがリストに含まれる |
| not_in | 指定されたフィールドがリストに含まれない |
| match | 正規表現マッチ |
| not_match | 正規表現非マッチ |
filters の例 ```filters:[ { "name":"host", "value":[ "host1", "host2" ], "operation":"in", "condition":"and" }, { "name":"status", "value":[ "a*" ], "operation":"match", "condition":"and" } ]
## リクエスト例
```shell
curl 'https://openapi.guance.com/api/v1/blacklist/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"name":"Rule1","desc":"","type":"logging","source":"kodo-log","filters":[{"name":"host","value":["127.0.0.1"],"operation":"in","condition":"and"}]}' \
--compressed
レスポンス¶
{
"code": 200,
"content": {
"conditions": "{ source = 'kodo-log' and ( host in [ '127.0.0.1' ] )}",
"createAt": 1678029404,
"creator": "xxxx",
"deleteAt": -1,
"desc": "",
"filters": [
{
"condition": "and",
"name": "host",
"operation": "in",
"value": [
"127.0.0.1"
]
}
],
"id": null,
"name": "Rule1",
"source": "kodo-log",
"status": 0,
"type": "logging",
"updateAt": 1678029404,
"updator": "xxxx",
"uuid": "blist_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-1C3DFE84-E7AD-4956-B363-8BB7EB3CD5A4"
}