Движок таблицы 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:
- повторно используйте конфигурацию кэша (и, соответственно, хранилище кэша) из секции clickhouse
storage_configuration
, описанной здесь