Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for YTsaurus
  • Начало работы
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к кластеру
    • Изменение кластера
    • Остановка и запуск кластера
    • Удаление кластера
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • История изменений

В этой статье:

  • Примеры строк подключения
  • Bash
  • Go
  • Python
  1. Пошаговые инструкции
  2. Подключение к кластеру

Подключение к кластеру YTsaurus

Статья создана
Yandex Cloud
Обновлена 30 октября 2025 г.
  • Примеры строк подключения
    • Bash
    • Go
    • Python

Примечание

Сервис находится на стадии Preview.

К кластеру YTsaurus можно подключиться:

  • С виртуальных машин Yandex Cloud.
  • Через интернет по HTTPS.

Примеры строк подключенияПримеры строк подключения

Примеры для Linux проверялись в следующем окружении:

  • Виртуальная машина в Yandex Cloud с Ubuntu 20.04 LTS.
  • Bash: 5.0.16.
  • Python: 3.8.2; pip3: 20.0.2.
  • Go: 1.24.8.

BashBash

Перед подключением:

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

  2. Установите YTsaurus CLI по инструкции.

  3. Установите зависимости:

    sudo apt update && sudo apt install -y python3 python3-pip && \
    pip3 install ytsaurus-client-yc-auth
    
Подключение с пользовательской ВМ
Подключение из интернета
  1. Получите конфигурационный файл доступа с помощью команды YC CLI:

    yc managed-ytsaurus cluster get-configuration <имя_или_идентификатор_кластера> --private
    
    Пример конфигурационного файла
    {
      auth_class = {
        module_name = "yc_managed_ytsaurus_auth";
        class_name = "IamTokenAuth";
      };
      proxy = {
        url = "http://hp.<идентификатор_кластера_YTsaurus>.ytsaurus.mdb.yandexcloud.net:32100";
        network_name = "external";
        http_proxy_role = "default";
      }
    }
    

    Конфигурационный файл будет сохранен по пути ~/.yt/config.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  2. Выполните запрос списка содержимого корневого каталога:

    yt list /
    
  1. Получите конфигурационный файл доступа с помощью команды YC CLI:

    yc managed-ytsaurus cluster get-configuration <имя_или_идентификатор_кластера>
    
    Пример конфигурационного файла
    {
      auth_class = {
        module_name = "yc_managed_ytsaurus_auth";
        class_name = "IamTokenAuth";
      };
      proxy = {
        url = "https://<идентификатор_кластера_YTsaurus>.proxy.ytsaurus.yandexcloud.net";
        enable_proxy_discovery = %false;
      }
    }
    

    Конфигурационный файл будет сохранен по пути ~/.yt/config.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  2. Выполните запрос списка содержимого корневого каталога:

    yt list /
    

GoGo

В примере используется авторизация при помощи OAuth-токена.

Чтобы подключиться к кластеру:

  1. Установите зависимости:

    sudo apt update && sudo apt install --yes golang git && \
    go mod init example && go get go.ytsaurus.tech/yt/go
    
  2. Выпустите OAuth-токен.

  3. Подготовьте пример файла для подключения:

    connect.go
    package main
    
    import (
        "context"
        "flag"
        "fmt"
        "time"
    
        ycsdk "github.com/yandex-cloud/go-sdk"
        ytsdk "go.ytsaurus.tech/yt/go/yt"
        ythttpsdk "go.ytsaurus.tech/yt/go/yt/ythttp"
    )
    
    func main() {
        clusterID := flag.String("id", "", "YTsaurus cluster ID")
        token := flag.String("token", "", "OAuth token")
        flag.Parse()
    
        ctx := context.Background()
    
        sdk, err := ycsdk.Build(ctx, ycsdk.Config{
            Credentials: ycsdk.OAuthToken(*token),
        })
        if err != nil {
            panic(err)
        }
    
        iamTokenProvider, err := IamTokenProvider(ctx, sdk)
        if err != nil {
            panic(err)
        }
    
        timeout := 10 * time.Second
        client, err := ythttpsdk.NewClient(&ytsdk.Config{
            Proxy:                 fmt.Sprintf("https://%s.proxy.ytsaurus.yandexcloud.net", *clusterID),
            LightRequestTimeout:   &timeout,
            DisableProxyDiscovery: true,
            CredentialsProviderFn: iamTokenProvider,
        })
        if err != nil {
            panic(err)
        }
    
        res, err := client.WhoAmI(context.Background(), nil)
        if err != nil {
            panic(err)
        }
    
        fmt.Printf("Logged in as %s\n", res.Login)
    }
    
    func IamTokenProvider(ctx context.Context, sdk *ycsdk.SDK) (ytsdk.CredentialsProviderFn, error) {
        var now = time.Now
        tokenMiddleware := ycsdk.NewIAMTokenMiddleware(sdk, now)
        return func(ctx context.Context) (ytsdk.Credentials, error) {
            currentToken, err := tokenMiddleware.GetIAMToken(ctx, false)
            if err != nil {
                return nil, err
            }
            return &ytsdk.BearerCredentials{Token: currentToken}, nil
        }, nil
    }
    
  4. Выполните команду:

    go run connect.go -id <идентификатор_кластера_YTsaurus> -token <OAuth_токен_пользователя>
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

PythonPython

Перед подключением:

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

  2. Установите YTsaurus CLI по инструкции.

  3. Установите зависимости:

    sudo apt update && sudo apt install -y python3 python3-pip && \
    pip3 install ytsaurus-client-yc-auth
    
Подключение с пользовательской ВМ
Подключение из интернета
  1. Пример кода:

    connect.py

    import yt.wrapper as yt
    from yc_managed_ytsaurus_auth import with_iam_token_auth
    
    client = yt.YtClient(
        proxy="http://hp.<идентификатор_кластера_YTsaurus>.ytsaurus.mdb.yandexcloud.net:32100",
        config=with_iam_token_auth(
            config={"proxy": {"network_name": "external", "http_proxy_role": "default"}}
        ),
    )
    
    client.list("/")
    
  2. Подключение:

    python3 connect.py
    
  1. Пример кода:

    connect.py

    import yt.wrapper as yt
    from yc_managed_ytsaurus_auth import with_iam_token_auth
    
    client = yt.YtClient(
        proxy="https://<идентификатор_кластера_YTsaurus>.proxy.ytsaurus.yandexcloud.net",
        config=with_iam_token_auth(config={"proxy": {"enable_proxy_discovery": False}}),
    )
    
    client.list("/")
    
  2. Подключение:

    python3 connect.py
    

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

Предыдущая
Создание кластера
Следующая
Изменение кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»