Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Обзор платформы
  • Начало работы
    • Архитектура платформы
    • Регионы
    • Устройство сети
    • Диапазоны публичных IP-адресов
    • Взаимодействие пользователей и ресурсов
    • Удаление данных пользователей
    • Список сервисов
    • Стадии готовности сервисов
    • Инструменты мониторинга и логирования (observability)
    • SLA
    • Квоты и лимиты
    • История изменений
    • Решение проблем
    • Обзор
    • Мобильное приложение
    • API
      • Обзор
      • Начало работы
    • Работа с Yandex Cloud CLI и API в Microsoft Windows
  • Облачная терминология
  • Обучающие курсы

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

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте сервисный аккаунт
  • Подготовьте Yandex Cloud CLI
  • Получите исходные данные
  • Подготовьте рабочую директорию
  • Настройте файл конфигурации
  • Создайте ВМ с помощью скрипта
  • Как удалить созданные ресурсы
  • См. также
  1. Интерфейсы для работы с сервисами
  2. SDK
  3. Начало работы

Как начать работать с Yandex Cloud SDK

Статья создана
Yandex Cloud
Обновлена 26 февраля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
    • Создайте сервисный аккаунт
    • Подготовьте Yandex Cloud CLI
    • Получите исходные данные
  • Подготовьте рабочую директорию
  • Настройте файл конфигурации
  • Создайте ВМ с помощью скрипта
  • Как удалить созданные ресурсы
  • См. также

Yandex Cloud SDK — это комплект средств разработки для взаимодействия с облачной инфраструктурой.

Рассмотрим некоторые возможности SDK на примере пошагового создания виртуальной машины Yandex Compute Cloud.

Чтобы начать работать с Yandex Cloud SDK:

  1. Подготовьте облако к работе.
    1. Создайте сервисный аккаунт.
    2. Подготовьте Yandex Cloud CLI.
    3. Получите исходные данные.
  2. Настройте окружение.
  3. Создайте файл конфигурации.
  4. Подготовьте код скрипта.
  5. Создайте ВМ с помощью скрипта.

Если созданные ресурсы вам больше не нужны, удалите их.

Также см. Примеры использования SDK.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки ВМ, созданной с помощью SDK, входят:

  • плата за вычислительные ресурсы ВМ (см. тарифы Yandex Compute Cloud);
  • плата за диски ВМ (см. тарифы Yandex Compute Cloud);
  • плата за использование динамического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Создайте сервисный аккаунтСоздайте сервисный аккаунт

  1. Создайте сервисный аккаунт.

  2. Назначьте сервисному аккаунту роли в зависимости от сервисов, которыми вы хотите управлять с помощью Yandex Cloud SDK.

    В данном руководстве для создания ВМ вам понадобится роль compute.admin.

    Если вы будете использовать SDK для .NET, также назначьте сервисному аккаунту роль iam.serviceAccounts.admin. Эта роль понадобится для получения авторизованного ключа.

Подготовьте Yandex Cloud CLIПодготовьте Yandex Cloud CLI

  1. Установите Yandex Cloud CLI.

  2. Аутентифицируйтесь в Yandex Cloud CLI от имени сервисного аккаунта.

    С помощью Yandex Cloud CLI будут получены данные для аутентификации в Yandex Cloud:

    • для Node.js, Go, Python, Java — IAM-токен.
    • для .NET — авторизованный ключ.

Получите исходные данныеПолучите исходные данные

  1. Получите идентификатор каталога, внутри которого вы будете взаимодействовать с сервисами с помощью Yandex Cloud SDK.
  2. Подберите подходящий образ для ВМ. Сохраните идентификатор семейства образов, например ubuntu-2204-lts.
  3. Создайте пару SSH-ключей, чтобы использовать их для подключения к ВМ.

Подготовьте рабочую директориюПодготовьте рабочую директорию

Node.js
Go
Python
Java
.NET
  1. В терминале проверьте версию Node.js с помощью команды:

    node -v
    

    Yandex Cloud SDK поддерживает версию Node.js 12 и выше. Если Node.js не установлен или нужна более новая версия, выберите подходящий вариант установки на сайте Node.js.

  2. Склонируйте репозиторий с примерами Yandex Cloud SDK для Node.js:

    git clone https://github.com/yandex-cloud-examples/yc-sdk-quickstart-node-js.git
    
  3. Перейдите в склонированный репозиторий и установите зависимости:

    cd yc-sdk-quickstart-node-js && npm i
    
  1. В терминале проверьте версию Go с помощью команды:

    go version
    

    Если Go не установлен, выберите подходящий вариант установки на сайте Go.

  2. Склонируйте репозиторий с примерами Yandex Cloud SDK для Go:

    git clone https://github.com/yandex-cloud-examples/yc-sdk-quickstart-go.git
    
  3. Перейдите в склонированный репозиторий и установите зависимости:

    cd yc-sdk-quickstart-go && go tidy
    
  1. В терминале проверьте версию Python с помощью команды для Linux и MacOS:

    python3 --version
    

    или для Windows:

    python --version
    

    Если Python не установлен, выберите подходящий вариант установки на сайте Python.

  2. Склонируйте репозиторий с примерами Yandex Cloud SDK для Python:

    git clone https://github.com/yandex-cloud-examples/yc-sdk-quickstart-python.git
    
  3. Перейдите в склонированный репозиторий и установите зависимости:

    cd yc-sdk-quickstart-python && pip install yandexcloud
    
  1. В терминале проверьте версию Java с помощью команды:

    java --version
    

    Если Java не установлен, выберите подходящий вариант установки на сайте Oracle.

  2. Дополнительно установите Apache Maven для сборки проекта.

  3. Склонируйте репозиторий с примерами Yandex Cloud SDK для Java:

    git clone https://github.com/yandex-cloud-examples/yc-sdk-quickstart-java.git
    
  4. Перейдите в склонированный репозиторий:

    cd yc-sdk-quickstart-java
    
  1. В терминале проверьте версию .NET с помощью команды:

    dotnet -version
    

    Если .NET не установлен, выберите подходящий вариант установки на сайте Microsoft. Рекомендуем установить версию 9.0 так как она используется в данной инструкции. Если вы установите другую версию .NET, укажите ее в файле YC-test.

  2. Склонируйте репозиторий с примерами Yandex Cloud SDK для .NET:

    git clone https://github.com/yandex-cloud-examples/yc-sdk-quickstart-dotnet.git
    
  3. В склонированном репозитории перейдите в директорию yc-sdk-quickstart-dotnet:

    cd yc-sdk-quickstart-dotnet
    

Настройте файл конфигурацииНастройте файл конфигурации

Node.js
Go
Python
Java
.NET

Откройте файл config.json. В нем уже задана базовая конфигурация ВМ, но вы можете указать собственные параметры:

{
    "folder_id": "<идентификатор_каталога>",
    "username": "user",
    "resources": {
        "image": {
            "family": "ubuntu-2204-lts",
            "folder_family_id": "standard-images"
        },
        "name": "computer",
        "resources_spec": {
            "memory": 2147483648,
            "cores": 2
        },
        "boot_disk_spec": {
            "auto_delete": true,
            "disk_spec": {
                "type_id": "network-hdd",
                "size": 10737418240
            }
        },
        "zone_id": "ru-central1-d",
        "platform_id": "standard-v3",
        "subnet_id": "<идентификатор_подсети>"
    },
    "metadata": {
        "ssh-keys": "USERNAME:SSH_PUBLIC_KEY",
        "user-data": "#cloud-config\n    datasource:\n      Ec2:\n        strict_id: false\n    users:\n      - name: USERNAME\n        sudo: 'ALL=(ALL) NOPASSWD:ALL'\n        shell: /bin/bash\n        ssh_authorized_keys:\n          - SSH_PUBLIC_KEY"
    },
    "labels": {
        "yc-sdk": "yes"
    }
}

Где:

  • folder_id — идентификатор каталога.
  • username — имя пользователя ВМ.
  • family — идентификатор семейства образов.
  • folder_family_id — идентификатор каталога, в котором размещены образы. Для публичных образов — standard-images.
  • name — название ВМ.
  • memory — объем RAM в байтах.
  • cores — количество vCPU.
  • auto_delete — указание, что диск должен удаляться вместе с ВМ.
  • type_id — тип диска ВМ.
  • size — объем диска в байтах.
  • zone_id — зона доступности, в которой вы хотите разместить ВМ.
  • platform_id — идентификатор платформы.
  • subnet_id — идентификатор подсети.
  • metadata — метаданные ВМ.
  • labels — метка ВМ.

Откройте файл config.json. В нем уже задана базовая конфигурация ВМ, но вы можете указать собственные параметры:

{
    "folder_id": "<идентификатор_каталога>",
    "username": "user",
    "resources": {
        "image": {
            "family": "ubuntu-2204-lts",
            "folder_family_id": "standard-images"
        },
        "name": "computer",
        "resources_spec": {
            "memory": 2147483648,
            "cores": 2
        },
        "boot_disk_spec": {
            "auto_delete": true,
            "disk_spec": {
                "type_id": "network-hdd",
                "size": 10737418240
            }
        },
        "zone_id": "ru-central1-d",
        "platform_id": "standard-v3",
        "subnet_id": "<идентификатор_подсети>"
    },
    "metadata": {
        "ssh-keys": "USERNAME:SSH_PUBLIC_KEY",
        "user-data": "#cloud-config\n    datasource:\n      Ec2:\n        strict_id: false\n    users:\n      - name: USERNAME\n        sudo: 'ALL=(ALL) NOPASSWD:ALL'\n        shell: /bin/bash\n        ssh_authorized_keys:\n          - SSH_PUBLIC_KEY"
    },
    "labels": {
        "yc-sdk": "yes"
    }
}

Где:

  • folder_id — идентификатор каталога.
  • username — имя пользователя ВМ.
  • family — идентификатор семейства образов.
  • folder_family_id — идентификатор каталога, в котором размещены образы. Для публичных образов — standard-images.
  • name — название ВМ.
  • memory — объем RAM в байтах.
  • cores — количество vCPU.
  • auto_delete — указание, что диск должен удаляться вместе с ВМ.
  • type_id — тип диска ВМ.
  • size — объем диска в байтах.
  • zone_id — зона доступности, в которой вы хотите разместить ВМ.
  • platform_id — идентификатор платформы.
  • subnet_id — идентификатор подсети.
  • metadata — метаданные ВМ.
  • labels — метка ВМ.

Откройте файл config.json. В нем уже задана базовая конфигурация ВМ, но вы можете указать собственные параметры:

{
    "folder_id": "<идентификатор_каталога>",
    "username": "user",
    "resources": {
        "image": {
            "family": "ubuntu-2204-lts",
            "folder_family_id": "standard-images"
        },
        "name": "computer",
        "resources_spec": {
            "memory": 2147483648,
            "cores": 2
        },
        "boot_disk_spec": {
            "auto_delete": true,
            "disk_spec": {
                "type_id": "network-hdd",
                "size": 10737418240
            }
        },
        "zone_id": "ru-central1-d",
        "platform_id": "standard-v3",
        "subnet_id": "<идентификатор_подсети>"
    },
    "metadata": {
        "ssh-keys": "USERNAME:SSH_PUBLIC_KEY",
        "user-data": "#cloud-config\n    datasource:\n      Ec2:\n        strict_id: false\n    users:\n      - name: USERNAME\n        sudo: 'ALL=(ALL) NOPASSWD:ALL'\n        shell: /bin/bash\n        ssh_authorized_keys:\n          - SSH_PUBLIC_KEY"
    },
    "labels": {
        "yc-sdk": "yes"
    }
}

Где:

  • folder_id — идентификатор каталога.
  • username — имя пользователя ВМ.
  • family — идентификатор семейства образов.
  • folder_family_id — идентификатор каталога, в котором размещены образы. Для публичных образов — standard-images.
  • name — название ВМ.
  • memory — объем RAM в байтах.
  • cores — количество vCPU.
  • auto_delete — указание, что диск должен удаляться вместе с ВМ.
  • type_id — тип диска ВМ.
  • size — объем диска в байтах.
  • zone_id — зона доступности, в которой вы хотите разместить ВМ.
  • platform_id — идентификатор платформы.
  • subnet_id — идентификатор подсети.
  • metadata — метаданные ВМ.
  • labels — метка ВМ.

Откройте файл config.json в директории src/main/resources/config. В нем уже установлена базовая конфигурация ВМ и вам необходимо указать folder_id и subnet_id. Но вы можете установить собственные параметры и для других полей:

{
    "folder_id": "<идентификатор_каталога>",
    "username": "user",
    "resources": {
        "image": {
            "family": "ubuntu-2204-lts",
            "folder_family_id": "standard-images"
        },
        "name": "computer",
        "resources_spec": {
            "memory": 2147483648,
            "cores": 2
        },
        "boot_disk_spec": {
            "auto_delete": true,
            "disk_spec": {
                "type_id": "network-hdd",
                "size": 10737418240
            }
        },
        "zone_id": "ru-central1-d",
        "platform_id": "standard-v3",
        "subnet_id": "<идентификатор_подсети>"
    },
    "metadata": {
        "ssh-keys": "USERNAME:SSH_PUBLIC_KEY",
        "user-data": "#cloud-config\n    datasource:\n      Ec2:\n        strict_id: false\n    users:\n      - name: USERNAME\n        sudo: 'ALL=(ALL) NOPASSWD:ALL'\n        shell: /bin/bash\n        ssh_authorized_keys:\n          - SSH_PUBLIC_KEY"
    },
    "labels": {
        "yc-sdk": "yes"
    }
}

Где:

  • folder_id — идентификатор каталога.
  • username — имя пользователя ВМ.
  • family — идентификатор семейства образов.
  • folder_family_id — идентификатор каталога, в котором размещены образы. Для публичных образов — standard-images.
  • name — название ВМ.
  • memory — объем RAM в байтах.
  • cores — количество vCPU.
  • auto_delete — указание, что диск должен удаляться вместе с ВМ.
  • type_id — тип диска ВМ.
  • size — объем диска в байтах.
  • zone_id — зона доступности, в которой вы хотите разместить ВМ.
  • platform_id — идентификатор платформы.
  • subnet_id — идентификатор подсети.
  • metadata — метаданные ВМ.
  • labels — метка ВМ.

Откройте файл config.json. В нем уже задана базовая конфигурация ВМ, но вы можете указать собственные параметры:

{
    "folder_id": "<идентификатор_каталога>",
    "username": "user",
    "resources": {
        "image": {
            "family": "ubuntu-2204-lts",
            "folder_family_id": "standard-images"
        },
        "name": "computer",
        "resources_spec": {
            "memory": 2147483648,
            "cores": 2
        },
        "boot_disk_spec": {
            "auto_delete": true,
            "disk_spec": {
                "type_id": "network-hdd",
                "size": 10737418240
            }
        },
        "zone_id": "ru-central1-d",
        "platform_id": "standard-v3",
        "subnet_id": "<идентификатор_подсети>"
    },
    "metadata": {
        "ssh-keys": "USERNAME:SSH_PUBLIC_KEY",
        "user-data": "#cloud-config\n    datasource:\n      Ec2:\n        strict_id: false\n    users:\n      - name: USERNAME\n        sudo: 'ALL=(ALL) NOPASSWD:ALL'\n        shell: /bin/bash\n        ssh_authorized_keys:\n          - SSH_PUBLIC_KEY"
    },
    "labels": {
        "yc-sdk": "yes"
    }
}

Где:

  • folder_id — идентификатор каталога.
  • username — имя пользователя ВМ.
  • family — идентификатор семейства образов.
  • folder_family_id — идентификатор каталога, в котором размещены образы. Для публичных образов — standard-images.
  • name — название ВМ.
  • memory — объем RAM в байтах.
  • cores — количество vCPU.
  • auto_delete — указание, что диск должен удаляться вместе с ВМ.
  • type_id — тип диска ВМ.
  • size — объем диска в байтах.
  • zone_id — зона доступности, в которой вы хотите разместить ВМ.
  • platform_id — идентификатор платформы.
  • subnet_id — идентификатор подсети.
  • metadata — метаданные ВМ.
  • labels — метка ВМ.

Создайте ВМ с помощью скриптаСоздайте ВМ с помощью скрипта

Проект уже настроен для создания ВМ с помощью консольных команд. С помощью комментариев в коде вы можете детальнее узнать из каких шагов состоит процесс создания ВМ.

Node.js
Go
Python
Java
.NET

Запустите файл index.js командой:

IAM_TOKEN=$(yc iam create-token) \
SSH_PUBLIC_KEY_PATH=./key.pub \
node index.js   

Где:

  • IAM_TOKEN — IAM-токен, получаемый с помощью Yandex Cloud CLI. Подробнее о команде yc iam create-token см. в справочнике CLI;
  • SSH_PUBLIC_KEY_PATH — путь к файлу с публичным SSH-ключом.

Примечание

Перезагрузка системы или оболочки терминала приведет к утрате всех созданных переменных окружения.

После начала создания ВМ в терминале вы увидите следующий текст:

Running Yandex.Cloud operation. ID: fv4qfujd49fc********

Где ID — идентификатор операции создания ВМ.

Отслеживать статус операции вы можете в консоли управления, а также с помощью Yandex Cloud CLI и API. Подробнее см. на странице Посмотреть операции с ресурсами сервиса Compute Cloud.

Когда ВМ будет создана, вы увидите следующее сообщение:

Created with id fv4qfujd49fc********

Где id — идентификатор ВМ.

Запустите файл main.go командой:

IAM_TOKEN=$(yc iam create-token) \
SSH_PUBLIC_KEY_PATH=./key.pub \
go run main.go

Где:

  • IAM_TOKEN — IAM-токен, получаемый с помощью Yandex Cloud CLI. Подробнее о команде yc iam create-token см. в справочнике CLI;
  • SSH_PUBLIC_KEY_PATH — путь к файлу с публичным SSH-ключом.

Примечание

Перезагрузка системы или оболочки терминала приведет к утрате всех созданных переменных окружения.

После начала создания ВМ в терминале вы увидите следующий текст:

Running Yandex.Cloud operation. ID: fv4qfujd49fc********

Где ID — идентификатор операции создания ВМ.

Отслеживать статус операции вы можете в консоли управления, а также с помощью Yandex Cloud CLI и API. Подробнее см. на странице Посмотреть операции с ресурсами сервиса Compute Cloud.

Когда ВМ будет создана, вы увидите следующее сообщение:

Created with id fv4qfujd49fc********

Где id — идентификатор ВМ.

Запустите файл script.py командой:

IAM_TOKEN=$(yc iam create-token) \
SSH_PUBLIC_KEY_PATH=./key.pub \
python script.py

Где:

  • IAM_TOKEN — IAM-токен, получаемый с помощью Yandex Cloud CLI. Подробнее о команде yc iam create-token см. в справочнике CLI;
  • SSH_PUBLIC_KEY_PATH — путь к файлу с публичным SSH-ключом.

Примечание

Перезагрузка системы или оболочки терминала приведет к утрате всех созданных переменных окружения.

Работа скрипта разделена на несколько этапов:

  • Запуск скрипта для создания ВМ. Если скрипт не нашел ошибок в формате переданных данных, вы увидите следующее сообщение:

    INFO:yandexcloud._channels:Using endpoints from configuration, IAM iam.api.cloud.yandex.net:443, compute compute.api.cloud.yandex.net:443
    INFO:yandexcloud._channels:Using endpoints from configuration, IAM iam.api.cloud.yandex.net:443, compute compute.api.cloud.yandex.net:443
    INFO:root:Creating initiated
    
  • Передача данных на сервер для валидации. Если все данные были указаны корректно, вы увидите следующее сообщение:

    INFO:root:Running Yandex.Cloud operation. ID: fv45g3nfq0bn********. Description: Create instance. Created at: 2024-12-19 15:52:59. Created by: ajeutahec4**********. Meta: instance_id: "fv4bi87d50**********".
    INFO:yandexcloud._channels:Using endpoints from configuration, IAM iam.api.cloud.yandex.net:443, operation operation.api.cloud.yandex.net:443
    
  • Результат операции. После создания ВМ вы получите информацию о ней:

    INFO:root:Done Yandex.Cloud operation. ID: fv45g3nfq0bn********. Response: id: "fv42jgaq946dm8ibkjl6"
    folder_id: "b1g5hnqtug**********"
    created_at {
        seconds: 1734614895
    }
    name: "computer"
    zone_id: "ru-central1-d"
    platform_id: "standard-v3"
    resources {
        memory: 2147483648
        cores: 2
        core_fraction: 100
    }
    status: RUNNING
    metadata_options {
        gce_http_endpoint: ENABLED
        aws_v1_http_endpoint: ENABLED
        gce_http_token: ENABLED
        aws_v1_http_token: DISABLED
    }
    boot_disk {
        mode: READ_WRITE
        device_name: "fv4sd8kkspslntd0dpvn"
        auto_delete: true
        disk_id: "fv4sd8kkspslntd0dpvn"
    }
    network_interfaces {
        index: "0"
        mac_address: "d0:0d:29:c1:5a:49"
        subnet_id: "fl8b5ou7m8sihjbftcfk"
        primary_v4_address {
            address: "192.168.0.3"
            one_to_one_nat {
            address: "51.250.34.207"
            ip_version: IPV4
            }
        }
    }
    serial_port_settings {
        ssh_authorization: OS_LOGIN
    }
    gpu_settings {}
    fqdn: "fv42jgaq946dm8ibkjl6.auto.internal"
    scheduling_policy {}
    network_settings {
        type: STANDARD
    }
    placement_policy {}
    hardware_generation {
        legacy_features {
            pci_topology: PCI_TOPOLOGY_V1
        }
    }.
    WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
    E0000 00:00:1734614936.026768 4332467 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
    
  1. Соберите проект командой:

    mvn clean package
    
  2. В корневой директории проекта запустите программу командой:

    IAM_TOKEN=$(yc iam create-token) \
    SSH_PUBLIC_KEY_PATH=key.pub \
    java -jar target/java-sdk-examples-2.6.4-jar-with-dependencies.jar  
    

    Где:

    • IAM_TOKEN — IAM-токен, получаемый с помощью Yandex Cloud CLI. Подробнее о команде yc iam create-token см. в справочнике CLI;
    • SSH_PUBLIC_KEY_PATH — путь к файлу с публичным SSH-ключом.

    Примечание

    Перезагрузка системы или оболочки терминала приведет к утрате всех созданных переменных окружения.

    После начала создания ВМ в терминале вы увидите следующий текст:

    Running Yandex.Cloud operation. ID: fv4qfujd49fc********
    

    Где ID — идентификатор операции создания ВМ.

    Отслеживать статус операции вы можете в консоли управления, а также с помощью Yandex Cloud CLI и API. Подробнее см. на странице Посмотреть операции с ресурсами сервиса Compute Cloud.

    Когда ВМ будет создана, вы увидите следующее сообщение:

    Created with id fv4qfujd49fc********
    

    Где id — идентификатор ВМ.

В корневой директории проекта запустите программу командой:

yc iam key create \
  --output key.json \
  --service-account-name <имя_сервисного_аккаунта> && \
AUTH_KEY=$(<key.json) && \
rm key.json && \
SSH_PUBLIC_KEY_PATH=~/key.pub \
dotnet run

Данная команда состоит из следующих частей:

  • yc iam key create — команда получения авторизованного ключа в которой:
    • --output — путь к файлу для записи авторизованного ключа в формате JSON.
    • --service-account-name — имя сервисного аккаунта, для которого создается ключ.
  • AUTH_KEY=$(<key.json) — чтение файла с авторизованным ключом и размещение содержимого ключа в переменной AUTH_KEY.
  • rm key.json — удаление файла с авторизованным ключом. Вы можете пропустить эту часть команды, если планируете повторно использовать авторизованный ключ.
  • SSH_PUBLIC_KEY_PATH=~/key.pub — установка пути к файлу с публичным SSH-ключом в переменную окружения SSH_PUBLIC_KEY_PATH.
  • dotnet run — запуск скрипта.

Примечание

Перезагрузка системы или оболочки терминала приведет к утрате всех созданных переменных окружения.

После начала создания ВМ в терминале вы увидите следующий текст:

Running Yandex.Cloud operation. ID: fv4qfujd49fc********

Где ID — идентификатор операции создания ВМ.

Отслеживать статус операции вы можете в консоли управления, а также с помощью Yandex Cloud CLI и API. Подробнее см. на странице Посмотреть операции с ресурсами сервиса Compute Cloud.

Вы можете проверить, что ВМ была создана, в консоли управления. У созданной ВМ должна быть метка yc-sdk:yes.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы, удалите ВМ из Compute Cloud.

Примеры работы с SDK

  • Node.js
  • Go
  • Python
  • Java
  • .NET

См. такжеСм. также

Подключиться к виртуальной машине Linux по SSH

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

Предыдущая
Обзор
Следующая
Работа с Yandex Cloud CLI и API в Microsoft Windows
Проект Яндекса
© 2025 ООО «Яндекс.Облако»