跳转到主要内容

azureBlobStorage 表函数

提供类似表的接口,用于在 Azure Blob 存储 中查询/插入文件。与 s3 函数 类似。

语法

凭据已嵌入连接字符串中,因此无需单独提供 account_name/account_key

参数

命名集合

参数也可以通过命名集合传递。此时支持以下键:
命名集合的键名与函数的位置参数名不同:container (不是 container_name) 和 blob_path (不是 blobpath) 。
示例:
你也可以在查询时覆盖 named collection 中的值:

返回值

一个具有指定结构的表,用于从指定文件读取数据或向其写入数据。

示例

使用 storage_account_url 形式读取

使用 connection_string 格式读取

按分区写入数据

然后读取特定分区:

虚拟列

  • _path — 文件路径。类型:LowCardinality(String)
  • _file — 文件名。类型:LowCardinality(String)
  • _size — 文件大小 (字节) 。类型:Nullable(UInt64)。如果文件大小未知,则值为 NULL
  • _time — 文件的最后修改时间。类型:Nullable(DateTime)。如果时间未知,则值为 NULL

分区写入

分区策略

仅支持 INSERT 查询。 WILDCARD:将文件路径中的 {_partition_id} 通配符替换为实际分区键。仅在早于 26.6compatibility 设置下才默认选用;否则默认值为 HIVE (参见 file_like_engine_default_partition_strategy 设置) 。 HIVE 对读写均采用 Hive 风格分区。它按以下格式生成文件:<prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)> HIVE 分区策略示例

use_hive_partitioning 设置

这是给 ClickHouse 的一个提示,用于在读取时解析采用 Hive 风格分区的文件。它对写入没有影响。若要实现读写对称,请使用 partition_strategy 参数。 use_hive_partitioning 设置为 1 时,ClickHouse 会检测路径中的 Hive 风格分区 (/name=value/) ,并允许在查询中将分区列用作虚拟列。这些虚拟列的名称将与分区路径中的名称相同。 示例 使用通过 Hive 风格分区生成的虚拟列

使用共享访问签名 (SAS)

共享访问签名 (SAS) 是一种 URI,可授予对 Azure Storage 容器或文件的受限访问权限。使用它可以在不共享存储账户密钥的情况下,为存储账户资源提供限时访问。更多详情请参见此处 azureBlobStorage 函数支持共享访问签名 (SAS)。 Blob SAS token 包含对请求进行身份验证所需的全部信息,包括目标 blob、权限和有效期。要构造 blob URL,请将 SAS token 追加到 blob 服务端点之后。例如,如果端点是 https://clickhousedocstest.blob.core.windows.net/,则请求变为:
或者,用户也可以使用生成的 Blob SAS URL
最后修改于 2026年7月2日