You need to enable JavaScript to run this app.
ByteHouse云数仓版

ByteHouse云数仓版

复制全文
连接 ByteHouse
使用 HTTP 连接
复制全文
使用 HTTP 连接

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://<domain>:8123/' --data-binary @-

使用 format 参数优化输出样式

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

curl "https://<domain>:8123?query=select%20100%20format%20Pretty&user=bytehouse&password=${APItoken}"

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

curl "https://<domain>:8123?query=select%20100%20format%20JSON&user=bytehouse&password=${APItoken}"

最近更新时间:2025.07.03 12:44:51
这个页面对您有帮助吗?
有用
有用
无用
无用