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

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

Смотрите также

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