Работа с заданиями из Visual Studio Code
Расширение DataSphere Jobs Toolkit позволяет работать с заданиями DataSphere из IDE Visual Studio Code
DataSphere Jobs Toolkit использует утилиту DataSphere CLI для анализа среды и обнаружения зависимостей. Она будет автоматически установлена в текущую виртуальную среду при первом запуске любого задания.
Примечание
Чтобы использовать расширение, понадобится установленная IDE Visual Studio Code
При запуске задания библиотека datasphere
анализирует окружение, собирает зависимости кода и может передавать их в DataSphere для развертывания окружения на ВМ в облаке. Чтобы избежать лишних системных зависимостей, которые могут нарушить работу задания, рекомендуем использовать виртуальное окружение venv
Примечание
По умолчанию для запуска заданий DataSphere использует менеджер пакетов conda с предустановленным Python 3.10. Чтобы сократить время переноса окружения, используйте эту же версию Python в своих заданиях.
Установите расширение DataSphere Jobs Toolkit
- Откройте страницу расширения в маркетплейсе
. - Нажмите Install.
- Браузер предложит открыть приложение Visual Studio Code. Нажмите Открыть приложение.
- На открывшейся странице расширения DataSphere Jobs Toolkit в Visual Studio Code нажмите Install.
После успешного завершения установки на странице расширения появится надпись This extension is enabled globally.
Аутентифицируйтесь в DataSphere Jobs
Чтобы работать с DataSphere Jobs, аутентифицируйтесь с аккаунтом на Яндексе или федеративным аккаунтом.
-
Получите OAuth-токен.
Срок жизни OAuth-токена — 1 год. После этого необходимо получить новый OAuth-токен
и повторить процедуру аутентификации. -
В верхней части окна Visual Studio Code нажмите Search и введите команду
> DataSphere Jobs: Set OAuth token
. В открывшемся окне нажмите Open, чтобы перейти на страницу получения OAuth-токена.Если у вас уже есть OAuth-токен, нажмите Cancel.
-
В открывшемся поле Input OAuth-token введите OAuth-токен.
Чтобы удалить OAuth-токен, воспользуйтесь командой > DataSphere Jobs: Remove OAuth token
.
Для аутентификации федеративного аккаунта необходим установленный и настроенный интерфейс YC CLI. Если YC CLI установлен в каталог по умолчанию или путь к нему задан в переменной среде Path
, то расширение обнаружит его автоматически. Если этого не произошло, то укажите путь к исполняемому файлу YC CLI в настройках расширения:
-
На панели слева выберите DataSphere Jobs и нажмите Settings.
-
В поле Datasphere: Yandex Cloud Console Path укажите путь к исполняемому файлу YC CLI, например:
C:\Users\<имя_пользователя>\yandex-cloud\bin\yc.exe
Запустите задание
-
На панели слева выберите
DataSphere Jobs и нажмите Settings. -
В поле Datasphere: Project введите идентификатор проекта. Чтобы получить идентификатор проекта, нажмите значок ID на странице вашего проекта в интерфейсе DataSphere
. -
Откройте Python-файл с помощью DataSphere Jobs Toolkit. Для этого в проводнике Visual Studio Code нажмите на нужный файл правой кнопкой мыши и выберите Run File in DataSphere Jobs.
Вы также можете предварительно открыть файл с кодом задания в Visual Studio Code, в правом верхнем углу окна редактирования нажать Run and Debug и выбрать Run File in DataSphere Jobs.
При тестировании расширения вы можете воспользоваться примером кода. Другие примеры для запуска заданий доступны в репозитории
на GitHub. -
В открывшемся окне DataSphere Job Configuration выполните настройки:
BASICADVANCEDENVIRONMENTPYTHONНастройте основные параметры запуска, соответствующие значениям в файле
config.yaml
:- Working directory — рабочая директория с необходимыми для запуска задания файлами.
- Inputs — файлы с входными данными в формате
<путь>=<имя_переменной>
. Каждую пару значений указывайте в отдельной строке. - Outputs — файлы с результатами в формате
<путь>=<имя_переменной>
. Каждую пару значений указывайте в отдельной строке.
Настройте дополнительные параметры:
- Project Identifier — идентификатор проекта DataSphere.
- Configuration file path — путь к готовому файлу конфигурации
config.yaml
. - Instance Type — параметры конфигурации ВМ, на которой будет выполняться задание.
- S3 mounts — идентификаторы коннекторов S3. При передаче нескольких коннекторов S3 указывайте каждый идентификатор в отдельной строке.
- Datasets — датасеты в формате
<датасет>=<имя_переменной>
. Каждую пару значений указывайте в отдельной строке.
Настройте Docker-образ:
- Variables — необходимые для запуска кода переменные в формате
<имя>:<значение>
. Каждую пару значений указывайте в отдельной строке. - Docker — параметры Docker-образа:
- Image — ссылка на Docker-образ.
- User — системный аккаунт с паролем или идентификатором секрета, содержащего авторизованный ключ.
Настройте рабочее пространство Python:
- Environment dependency build method — выберите автоматический или ручной метод определения зависимостей рабочего пространства.
- Extra root paths — дополнительные корневые папки. Каждое значение указывайте в отдельной строке.
- Extra index urls — дополнительные индексные URL-адреса.
- При необходимости включите опцию No Dependencies, чтобы не определять зависимости рабочего пространства.
Чтобы сохранить текущие параметры в файл
launch.json
для использования в последующих заданиях, нажмите кнопку Save. Чтобы выгрузить конфигурацию задания в файлconfig.yaml
, нажмите кнопку Export.Вы также можете загрузить сохраненную ранее готовую конфигурацию задания. Для этого нажмите кнопку Load.
-
Чтобы запустить конфигурацию, нажмите кнопку Invoke.
В результате успешного запуска задания в расширении DataSphere Jobs Toolkit откроется окно DEBUG CONSOLE со ссылкой на задание в DataSphere:
creating job ... uploading 37 files (129.7MB) ... files are uploaded created job `bt19qb2pb0ji********` executing job ... job link: https://datasphere.yandex.ru/communities/bt11e3m29qti********/projects/bt1eq06id8kv********/job/bt19qb2pb0ji********
В окне OUTPUT также доступны вкладки со следующей информацией:
- DataSphere Jobs Invocation — результаты выполнения кода пользователя.
- DataSphere Jobs Toolkit — сообщения о запуске, завершении задачи и ошибках.
- DataSphere Jobs Toolkit Logs — информация о работе расширения.
Посмотрите историю заданий
Расширение DataSphere Jobs Toolkit позволяет просматривать историю заданий и работать с ними.
Чтобы посмотреть историю заданий DataSphere Jobs, на панели слева выберите
DataSphere Jobs. В открывшейся панели DATASPHERE JOBS: LAUNCH HISTORY вы увидите историю заданий, отсортированных по времени запуска.Панель с историей заданий DataSphere Jobs позволяет выполнять следующие действия:
- Cancel — останавливать задание.
- Attach — подключаться к заданию.
- Copy job ID — копировать идентификатор задания.
- Open job — открывать задание в браузере.