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

Движок таблиц 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.

  1. добавьте следующий раздел в файл конфигурации ClickHouse:
  1. повторно используйте конфигурацию кэша (и, следовательно, хранилище кэша) из раздела конфигурации storage_configuration ClickHouse, описанного здесь

См. также

Функция таблицы Azure Blob Storage