Перейти к основному содержанию

Табличная функция azureBlobStorage

Предоставляет табличный интерфейс для выборки/вставки файлов в Azure Blob Storage. Эта табличная функция аналогична функции s3.

Синтаксис

Учетные данные встроены в строку подключения, поэтому отдельно указывать account_name/account_key не требуется:

Аргументы

Именованные коллекции

Аргументы также можно передавать с помощью именованных коллекций. В этом случае поддерживаются следующие ключи:
Имена ключей именованной коллекции отличаются от имён позиционных аргументов функции: container (не container_name) и blob_path (не blobpath).
Пример:
Вы также можете переопределить значения именованной коллекции при выполнении запроса:

Возвращаемое значение

Таблица с указанной структурой для чтения данных из указанного файла или записи данных в него.

Примеры

Чтение с использованием storage_account_url

Чтение с использованием варианта connection_string

Запись с партиционированием

Затем прочитайте данные из определённой партиции:

Виртуальные столбцы

  • _path — Путь к файлу. Тип: LowCardinality(String).
  • _file — Имя файла. Тип: LowCardinality(String).
  • _size — Размер файла в байтах. Тип: Nullable(UInt64). Если размер файла неизвестен, значение равно NULL.
  • _time — Время последнего изменения файла. Тип: Nullable(DateTime). Если время неизвестно, значение равно NULL.

Запись с разбиением на партиции

Стратегия партиционирования

Поддерживается только для запросов INSERT. WILDCARD: заменяет подстановочный знак {_partition_id} в пути к файлу на фактический ключ партиционирования. Выбирается по умолчанию только при значениях compatibility ниже 26.6; в противном случае по умолчанию используется HIVE (см. настройку file_like_engine_default_partition_strategy). HIVE реализует секционирование в стиле 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

Использование Shared Access Signatures (SAS)

Shared Access Signature (SAS) — это URI, который предоставляет ограниченный доступ к контейнеру или файлу в Azure Storage. Используйте его, чтобы предоставить ограниченный по времени доступ к ресурсам учётной записи хранилища, не передавая ключ этой учётной записи хранилища. Подробнее здесь. Функция azureBlobStorage поддерживает Shared Access Signatures (SAS). Токен Blob SAS содержит всю информацию, необходимую для аутентификации запроса, включая целевой blob, разрешения и срок действия. Чтобы сформировать URL-адрес blob, добавьте токен SAS к конечной точке сервиса blob. Например, если конечная точка — https://clickhousedocstest.blob.core.windows.net/, запрос будет выглядеть так:
Либо пользователи могут использовать сгенерированный Blob SAS URL:
Последнее изменение 2 июля 2026 г.