Движок таблиц AzureBlobStorage
Этот движок предоставляет интеграцию с Azure Blob Storage экосистемой.
Создание таблицы
Параметры движка
endpoint
— URL-адрес конечной точки AzureBlobStorage с контейнером и префиксом. При необходимости может содержать account_name, если используемый метод аутентификации требует этого. (http://azurite1:{port}/[account_name]{container_name}/{data_prefix}
) или эти параметры могут быть предоставлены отдельно с использованием storage_account_url, account_name и container. Для указания префикса следует использовать endpoint.endpoint_contains_account_name
- Этот флаг используется для указания, содержит ли конечная точка account_name, так как это необходимо только для определенных методов аутентификации. (По умолчанию: true)connection_string|storage_account_url
— connection_string включает имя аккаунта и ключ (Создайте строку подключения) или вы также можете предоставить URL-адрес учетной записи хранения здесь, а имя аккаунта и ключ аккаунта как отдельные параметры (см. параметры account_name и account_key)container_name
- Имя контейнераblobpath
- путь к файлу. Поддерживает следующие подстановочные знаки в режиме только для чтения:*
,**
,?
,{abc,def}
и{N..M}
, гдеN
,M
— числа,'abc'
,'def'
— строки.account_name
- если используется storage_account_url, то имя аккаунта можно указать здесьaccount_key
- если используется storage_account_url, то ключ аккаунта можно указать здесьformat
— формат файла.compression
— Поддерживаемые значения:none
,gzip/gz
,brotli/br
,xz/LZMA
,zstd/zst
. По умолчанию он будет автоматически определять сжатие по расширению файла. (то же самое, что установка наauto
).
Пример
Пользователи могут использовать эмулятор Azurite для локальной разработки Azure Storage. Дополнительные сведения здесь. Если вы используете локальный экземпляр Azurite, пользователи могут заменить http://localhost:10000
на http://azurite1:10000
в командах ниже, где мы предполагаем, что Azurite доступен на хосте azurite1
.
Виртуальные колонки
_path
— Путь к файлу. Тип:LowCardinality(String)
._file
— Имя файла. Тип:LowCardinality(String)
._size
— Размер файла в байтах. Тип:Nullable(UInt64)
. Если размер неизвестен, значение равноNULL
._time
— Время последнего изменения файла. Тип:Nullable(DateTime)
. Если время неизвестно, значение равноNULL
.
Аутентификация
В настоящее время есть 3 способа аутентификации:
Managed Identity
- Может быть использован, предоставивendpoint
,connection_string
илиstorage_account_url
.SAS Token
- Может быть использован, предоставивendpoint
,connection_string
илиstorage_account_url
. Он идентифицируется по наличию '?' в url. См. azureBlobStorage для примеров.Workload Identity
- Может быть использован, предоставивendpoint
илиstorage_account_url
. Если параметрuse_workload_identity
установлен в конфигурации, (workload identity) используется для аутентификации.
Кэш данных
Движок таблиц Azure
поддерживает кэширование данных на локальном диске. См. параметры конфигурации кэша файловой системы и использование в этом разделе. Кэширование выполняется в зависимости от пути и ETag объекта хранения, поэтому ClickHouse не будет читать устаревшую версию кэша.
Чтобы включить кэширование, используйте настройку filesystem_cache_name = '<name>'
и enable_filesystem_cache = 1
.
- добавьте следующий раздел в файл конфигурации ClickHouse:
- повторно используйте конфигурацию кэша (и, следовательно, хранилище кэша) из раздела конфигурации
storage_configuration
ClickHouse, описанного здесь