Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for ClickHouse
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение настроек кластера и базы данных
    • Настройка доступа к ObjectStorage
    • Подключение внешних словарей
    • Подключение собственной геобазы
    • Управление моделями машинного обучения
    • Управление схемами формата данных
    • Подключение к DataLens
    • Изменение версии ClickHouse
    • Управление хостами ZooKeeper
    • Управление хостами ClickHouse
    • Управление базами данных
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Управление группами шардов
    • Просмотр логов кластера
    • Удаление кластера
    • Мониторинг состояния кластера и хостов
  • Практические руководства
    • Добавление данных в БД
    • Шардирование таблиц
    • Использование гибридного хранилища
    • Получение данных из Managed Service for Apache Kafka®
    • Получение данных из RabbitMQ
    • Обмен данными с Data Proc
    • Настройка Yandex Cloud DNS для доступа к кластеру из других облачных сетей
    • Анализ логов Object Storage при помощи DataLens
    • Настройка кластера под Graphite
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for ClickHouse
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Репликация
    • Словари
    • Шардирование
    • Техническое обслуживание
    • Поддерживаемые клиенты
    • Управление памятью в Managed Service for ClickHouse
    • Политика работы с версиями ClickHouse
    • Настройки ClickHouse
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackupService
      • ClusterService
      • DatabaseService
      • FormatSchemaService
      • MlModelService
      • ResourcePresetService
      • UserService
      • VersionsService
      • OperationService
    • REST (англ.)
      • Overview
      • Backup
        • Overview
        • get
        • list
      • Cluster
        • Overview
        • addHosts
        • addShard
        • addZookeeper
        • backup
        • create
        • createExternalDictionary
        • createShardGroup
        • delete
        • deleteExternalDictionary
        • deleteHosts
        • deleteShard
        • deleteShardGroup
        • get
        • getShard
        • getShardGroup
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShardGroups
        • listShards
        • move
        • rescheduleMaintenance
        • restore
        • start
        • stop
        • streamLogs
        • update
        • updateHosts
        • updateShard
        • updateShardGroup
      • Database
        • Overview
        • create
        • delete
        • get
        • list
      • FormatSchema
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • MlModel
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • ResourcePreset
        • Overview
        • get
        • list
      • User
        • Overview
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Versions
        • Overview
        • list
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о ClickHouse
    • Подключение
    • Изменение кластера
    • Настройки параметров кластера
    • Перемещение и восстановление кластера
    • Мониторинг и логи
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Настройка доступа к ObjectStorage

Настройка доступа к Object Storage

Статья создана
Yandex Cloud
  • Подключить сервисный аккаунт к кластеру
  • Настроить права доступа
  • Получить ссылку на объект
  • Примеры работы с объектами

Managed Service for ClickHouse поддерживает работу с Yandex Object Storage для:

  • подключения моделей машинного обучения, схем формата данных и собственной геобазы;
  • обработки данных, которые находятся в объектном хранилище, если эти данные представлены в любом из поддерживаемых ClickHouse форматов.

Для доступа к данным в бакете Object Storage из кластера воспользуйтесь одним из следующих способов:

  • Настройте беспарольный доступ к бакету с помощью сервисного аккаунта. Данный способ позволяет получить доступ к объекту в бакете без ввода учетных данных. Чтобы воспользоваться этим способом:
    1. Подключите сервисный аккаунт к кластеру.
    2. Настройте права доступа для сервисного аккаунта.
  • Настройте публично доступный бакет, открыв публичный доступ к нему на чтение или на запись.

После настройки любого из этих способов получите ссылку на объект в бакете, которую можно использовать при работе с данными в кластере. См. также Примеры работы с объектами.

Подключить сервисный аккаунт к кластеру

  1. При создании или изменении кластера выберите существующий сервисный аккаунт, либо создайте новый.

  2. Убедитесь, что этому аккаунту назначены корректные роли из группы ролей storage.*. При необходимости назначьте нужные роли, например, storage.viewer и storage.uploader.

Совет

Для связи кластеров Managed Service for ClickHouse с Object Storage рекомендуется использовать специально созданные для этой цели сервисные аккаунты: это позволяет организовать работу с любыми бакетами, в том числе с такими, для которых предоставление публичного доступа нежелательно или невозможно.

Настроить права доступа

Консоль управления
  1. В консоли управления выберите каталог, в котором находится нужный бакет. Если бакета не существует — создайте его и наполните необходимыми данными.

  2. Выберите сервис Object Storage.

  3. Настройте ACL бакета или ACL объекта:

    1. В списке бакетов или объектов выберите нужный элемент и нажмите значок .
    2. Нажмите ACL бакета или ACL объекта.
    3. В выпадающем списке Выберите пользователя укажите сервисный аккаунт, подключенный к кластеру.
    4. Нажмите кнопку Добавить.
    5. Задайте нужные разрешения для сервисного аккаунта из выпадающего списка.
    6. Нажмите кнопку Сохранить.

    Примечание

    При необходимости отзовите доступ у одного или нескольких пользователей, нажав кнопку Отозвать в нужной строке.

Получить ссылку на объект

Чтобы работать в Managed Service for ClickHouse с данными объекта в Object Storage, нужно получить ссылку на этот объект в бакете:

  • Для бакета с ограниченным доступом ссылку вида https://storage.yandexcloud.net/<имя бакета>/<имя объекта>?X-Amz-Algorithm=... приведите к виду https://storage.yandexcloud.net/<имя бакета>/<имя объекта>, удалив все параметры в строке запроса.
  • Для бакета с публичным доступом ссылка будет сгенерирована сразу в нужном виде.

Примеры работы с объектами

Ссылки на объекты вида https://storage.yandexcloud.net/<имя бакета>/<имя объекта> можно использовать при работе с геометками, схемами, а также при использовании табличной функции s3 и табличного движка S3.

Табличный движок S3 аналогичен движкам File и URL, за исключением того, что данные хранятся в S3-совместимом хранилище (таком как Yandex Object Storage), а не на файловой системе или удаленном HTTP/HTTPS сервере. Этот движок позволяет читать и записывать данные в хранилище с использование стандартных SQL-запросов SELECT и INSERT.

Табличная функция s3 предоставляет ту же самую функциональность, что и движок таблиц S3, но при ее использовании не требуется предварительно создавать таблицу.

Например, если в бакете с ограниченным доступом my-bucket Object Storage в файле table.tsv хранятся данные таблицы в формате TSV, то можно создать таблицу или функцию, которая будет работать с этим файлом. Предполагается, что настроен беспарольный доступ и получена ссылка на файл table.tsv.

Таблица S3
Функция s3
  1. Создайте таблицу:

    CREATE TABLE test (n Int32) ENGINE = S3('https://storage.yandexcloud.net/my-bucket/table.tsv', 'TSV');
    
  2. Выполните тестовые запросы к таблице:

    INSERT INTO test VALUES (1);
    SELECT * FROM test;
    
    ┌─n─┐
    │ 1 │
    └───┘
    
  1. Вставьте данные:

    INSERT INTO FUNCTION s3('https://storage.yandexcloud.net/my-bucket/table.tsv', 'TSV', 'n Int32') VALUES (1);
    
  2. Выполните тестовый запрос:

    SELECT * FROM s3('https://storage.yandexcloud.net/my-bucket/table.tsv', 'TSV', 'n Int32');
    
    ┌─n─┐
    │ 1 │
    └───┘
    

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Подключить сервисный аккаунт к кластеру
  • Настроить права доступа
  • Получить ссылку на объект
  • Примеры работы с объектами