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

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