You need to enable JavaScript to run this app.
导航
使用 HTTP 连接
最近更新时间:2025.05.22 17:45:49首次发布时间:2025.05.22 17:45:49
我的收藏
有用
有用
无用
无用

HTTP 接口支持通过 REST API 以任何编程语言在任何平台上使用 ByteHouse。本文介绍了如何使用 HTTP 方式连接至 ByteHouse。

前提条件

请确保您已安装 curl,详情请参见官方网站

连接至 ByteHouse

您可以通过以下命令连接至 ByteHouse。

curl "https://<domain>:8123?user=bytehouse&password=${APItoken}"

参数

配置要点

配置 ByteHouse 的 host 信息,您可以在 ByteHouse 控制台的 租户管理>基本信息>网络信息 中获取公网或私网域名信息,格式如下:

  • 私网:tenant-{TENANT_ID}-{REGION}[-{ENVIRONMENT}].bytehouse.ivolces.com
  • 公网:tenant-{TENANT_ID}-{REGION}[-{ENVIRONMENT}]-public.bytehouse.volces.com

其中{ENVIRONMENT}为可选项,如果使用 default 环境,可不填;如需指定其他环境,需添加该参数。

user

登录 ByteHouse 数据库的用户名,配置为 bytehouse。

password

登录 ByteHouse 数据库的密码,配置为 ByteHouse 的 <API_Key>,您可以在 ByteHouse 控制台的 租户管理>连接信息 中获取 API Key,详情请参见获取 API Key

使用示例

您可以通过 HTTP 连接至 ByteHouse 并管理数据。本节以数据表 t 为示例,演示了如何创建、写入、查询、删除表,您在实际使用时请根据您的环境信息及业务需要替换其中的 domainapi_token 及 query 语句。

创建表

echo 'CREATE TABLE t (a UInt8) ENGINE = 'CnchMergeTree' ORDER BY a' | curl 'https://<domain>:8123?user=bytehouse&password=<api_token>&' --data-binary @-

写入数据

支持通过 INSERT 查询进行数据插入。

echo 'INSERT INTO t VALUES (1),(2),(3)' | curl 'https://<domain>:8123?user=bytehouse&password=<api_token>&' --data-binary @-

您也可以将数据与查询分开发送:

echo '(4),(5),(6)' | curl 'https://<domain>:8123?user=bytehouse&password=<api_token>&query=INSERT%20INTO%20t%20VALUES' --data-binary @-

您可以指定任意数据格式。'Values' 格式与写入 INSERT INTO t VALUES 时所用的格式相同:

echo '(7),(8),(9)' | curl 'https://<domain>:8123?user=bytehouse&password=<api_token>&query=INSERT%20INTO%20t%20FORMAT%20Values' --data-binary @-

如需从制表符分隔的转储中插入数据,请指定相应的格式:

echo -ne '10\n11\n12\n' | curl 'https://<domain>:8123?user=bytehouse&password=<api_token>&query=INSERT%20INTO%20t%20FORMAT%20TabSeparated' --data-binary @-

您可以使用以下命令写入 CSV 文件。

curl "https://<domain>:8123?user=bytehouse&password=<api_token>&query=INSERT%20INTO%20t%20FORMAT%20CSV" --data-binary @data.csv

查询数据

curl 'https://<domain>:8123/?user=bytehouse&password=<api_token>&query=SELECT%20a%20FROM%20t'

删除表

$ echo 'DROP TABLE t' | curl 'http://localhost:8123/' --data-binary @-

使用 format 参数优化输出样式

您可使用 format Pretty 优化查询结果样式。

curl "https://gateway-rc.volc-boe.offline.bytehouse.cn:8123?query=select%20100%20format%20Pretty&user=bytehouse&password=${APItoken}"

您也可以使用使用 format JSON,查询结果将以 JSON 格式输出。

curl "https://gateway-rc.volc-boe.offline.bytehouse.cn:8123?query=select%20100%20format%20JSON&user=bytehouse&password=${APItoken}"