写入日志的 API
在写入日志之前,请先阅读 Pipeline 配置完成配置的设定和上传。
HTTP API
你可以使用以下命令通过 HTTP 接口写入日志:
curl -X "POST" "http://localhost:4000/v1/ingest?db=<db-name>&table=<table-name>&pipeline_name=<pipeline-name>&version=<pipeline-version>&skip_error=<skip-error>" \
-H "Content-Type: application/x-ndjson" \
-H "Authorization: Basic {{authentication}}" \
-d "$<log-items>"
请求参数
此接口接受以下参数:
db:数据库名称。table:表名称。pipeline_name:Pipeline 名称。version:Pipeline 版本号。可选,默认使用最新版本。skip_error:写入日志时是否跳过错误。可选,默认为false。当设置为true时,GreptimeDB 会跳过遇到错误的单条日志项并继续处理剩余的日志,不会因为一条日志项的错误导致整个请求失败。
Content-Type 和 Body 数据格式
GreptimeDB 使用 Content-Type header 来决定如何解码请求体内容。目前我们支持以下两种格式:
application/json: 包括普通的 JSON 格式和 NDJSON 格式。application/x-ndjson: 指定 NDJSON 格式,会尝试先分割行再进行解析,可以达到精确的错误检查。text/plain: 通过换行符分割的多行日志文本行。