Движок таблицы 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, описанной здесь