> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 允许在指定集群中的多个节点上并行处理 Azure Blob 存储中的文件。

# azureBlobStorageCluster

允许在指定集群中的多个节点上并行处理 [Azure Blob Storage](https://azure.microsoft.com/en-us/products/storage/blobs) 中的文件。在发起节点上，它会与集群中的所有节点建立连接，解析 S3 文件路径中的星号，并动态分发各个文件。在工作节点上，它会向发起节点请求下一个待处理任务并执行处理。该过程会重复进行，直到所有任务全部完成。
此表函数与 [s3Cluster 表函数](/zh/reference/functions/table-functions/s3Cluster) 类似。

<div id="syntax">
  ## 语法
</div>

```sql theme={null}
azureBlobStorageCluster(cluster_name, connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression, structure])
```

<div id="arguments">
  ## 参数
</div>

| 参数                  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cluster_name`      | 用于构建远程和本地 server 的一组地址及 connection 参数的集群名称。                                                                                                                                                                                                                                                                                                                                                                                       |
| `connection_string` | storage\_account\_url\` — connection\_string 包含账户名和 key ([创建 connection string](https://learn.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json\&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json#configure-a-connection-string-for-an-azure-storage-account)) ；你也可以在此处提供 storage account url，并将账户名和账户 key 作为单独参数传入 (参见参数 account\_name 和 account\_key) |
| `container_name`    | Container 名称                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `blobpath`          | 文件 path。在 readonly 模式下支持以下 wildcards：`*`、`**`、`?`、`{abc,def}` 和 `{N..M}`，其中 `N`、`M` 表示数字，`'abc'`、`'def'` 表示字符串。                                                                                                                                                                                                                                                                                                                   |
| `account_name`      | 如果使用 storage\_account\_url，则可在此处指定账户名                                                                                                                                                                                                                                                                                                                                                                                             |
| `account_key`       | 如果使用 storage\_account\_url，则可在此处指定账户 key                                                                                                                                                                                                                                                                                                                                                                                          |
| `format`            | 文件的 [format](/zh/reference/formats)。                                                                                                                                                                                                                                                                                                                                                                                              |
| `compression`       | 支持的值：`none`、`gzip/gz`、`brotli/br`、`xz/LZMA`、`zstd/zst`。默认情况下，会根据文件扩展名自动检测压缩方式。 (等同于将其设置为 `auto`。)                                                                                                                                                                                                                                                                                                                                 |
| `structure`         | 表的结构。格式为 `'column1_name column1_type, column2_name column2_type, ...'`。                                                                                                                                                                                                                                                                                                                                                           |

<div id="returned_value">
  ## 返回值
</div>

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

<div id="examples">
  ## 示例
</div>

与 [AzureBlobStorage](/zh/reference/engines/table-engines/integrations/azureBlobStorage) 表引擎类似，用户可以使用 Azurite 模拟器在本地开发 Azure Storage。更多详情请参见[此处](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=docker-hub%2Cblob-storage)。下文假设可通过主机名 `azurite1` 访问 Azurite。

使用 `cluster_simple` 集群中的所有节点，统计文件 `test_cluster_*.csv` 的数量：

```sql theme={null}
SELECT count(*) FROM azureBlobStorageCluster(
        'cluster_simple', 'http://azurite1:10000/devstoreaccount1', 'testcontainer', 'test_cluster_count.csv', 'devstoreaccount1',
        'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', 'CSV',
        'auto', 'key UInt64')
```

<div id="using-shared-access-signatures-sas-sas-tokens">
  ## 使用共享访问签名 (SAS)
</div>

示例请参见 [azureBlobStorage](/zh/reference/functions/table-functions/azureBlobStorage#using-shared-access-signatures-sas-sas-tokens)。

<div id="related">
  ## 相关
</div>

* [AzureBlobStorage 引擎](/zh/reference/engines/table-engines/integrations/azureBlobStorage)
* [azureBlobStorage 表函数](/zh/reference/functions/table-functions/azureBlobStorage)
