功能描述
本接口用于修改日志主题。
请求
请求示例
PUT /topic HTTP/1.1
Host: <Region>.cls.tencentyun.com
Authorization: <AuthorizationString>
Content-Type: application/json
{
"topic_id": "xxxxxx-xx-xx-xx-xxxxxxxx",
"topic_name": "testname",
"path": "/data/nginx/log/access.log",
"wild_path":"/data/nginx/log/**/access.log",
"collection": false,
"log_type": "delimiter_log",
"extract_rule": {
"time_key": "date",
"time_format": "%Y-%m-%d %H:%M:%S",
"delimiter": "|",
"log_regex": ".*",
"beginning_regex": "^",
"keys": ["date","","content"],
"filter_keys": [],
"filter_regex": []
}
}
请求行
PUT /topic
请求头
除公共头部外,无特殊请求头部。
请求参数
字段名 | 类型 | 位置 | 是否必须 | 含义 |
---|---|---|---|---|
topic_id | string | body | 是 | 日志主题的 ID |
topic_name | string | body | 否 | 日志主题的名字 |
path | string | body | 否 | 旧版日志主题需要采集的日志路径 |
wild_path | string | body | 否 | 新版通配符日志采集路径,以/**/ 分隔文件目录和文件名,和旧版 path 只会存在一个 |
collection | bool | body | 否 | 是否开启采集 |
log_type | string | body | 否 | 采集的日志类型:json_log 代表 json 格式日志delimiter_log 代表分隔符格式日志minimalist_log 代表单行全文格式multiline_log 代表多行日志fullregex_log 代表完整正则 |
extract_rule | JsonObject | body | 否 | 提取规则 |
注意:topic_name、path、group_id、collection、(log_type+extract_rule)至少要提供一个。
extract_rule 格式如下:
字段名 | 类型 | 是否必须 | 含义 |
---|---|---|---|
time_key | string | 否 | 时间字段的 key 名字,time_key 和 time_format 必须成对出现 |
time_format | string | 否 | 时间字段的格式,参考 C 语言的strftime 函数对于时间的格式说明 |
delimiter | string | 否 | 分隔符类型日志的分隔符,只有log_type 为delimiter_log 时有效 |
log_regex | string | 否 | 整条日志匹配规则,只有log_type 为fullregex_log 时有效 |
beginning_regex | string | 否 | 行首匹配规则,在log_type 为fullregex_log 或multiline_log 的时候有效 |
keys | JsonArray(string) | 否 | 提取的每个字段的 key 名字,为空的 key 代表丢弃这个字段,只有log_type 为delimiter_log 时有效,json_log 的日志使用 json 本身的 key |
filter_keys | JsonArray(string) | 否 | 需要过滤日志的 key,最多5个 |
filter_regex | JsonArray(string) | 否 | 上述字段 filter_keys 对应的值,个数与 filter_keys 相同,一一对应,采集匹配的日志 |
响应
响应示例
HTTP/1.1 200 OK
Content-Length: 0
响应头
除公共响应头部外,无特殊响应头部。
响应参数
无。
错误码
参见 错误码。