Как установить переменные среды для блокнота, управляемого пользователем, в Vertex AI

Я пытаюсь установить некоторые переменные среды для управляемого пользователем ноутбука в Google Cloud Vertex AI. Я не хочу устанавливать это из самой записной книжки jupyter, потому что я хочу, чтобы эти переменные среды были доступны всем, кто открывает записную книжку jupyter из этого экземпляра записной книжки. Это то, что я пробовал до сих пор, но ничего не получилось:

  1. У меня есть существующий блокнот, управляемый пользователем. Я подключился к виртуальной машине ноутбука по ssh, а затем установил переменную среды, export TEST_VAR=TEST_VARIABLE_WAS_SETтам. Однако, когда я открываю блокнот Jupyter с консоли и делаю os.environ["TEST_VAR"], выдает ключевую ошибку. Итак, я предполагаю, что это как-то связано с тем фактом, что сеанс лаборатории jupyter, который запускает Vertex AI, находится в другом сеансе оболочки или что-то подобное. Я также попытался добавить следующие два ключа метаданных в виртуальную машину, а затем перезапустил виртуальную машину, но это не сработало:

gcloud compute instances add-metadata ${INSTANCE_NAME} --metadata startup-script=$GCS_BUCKET_NAME/script.sh

где script.sh:

      #!/bin/bash

export TEST_VAR=TEST_VARIABLE_WAS_SET

И

gcloud compute instances add-metadata ${INSTANCE_NAME} --metadata container-env-file=$GCS_BUCKET_NAME/notebook-env.txt

где блокнот-env.txt

      TEST_VAR=TEST_VARIABLE_WAS_SET
  1. Я также попытался создать новый экземпляр блокнота, управляемого пользователем, из облачной консоли. В этом я попытался предоставить сценарий в «Выберите сценарий для запуска после создания», а также через параметр «Метаданные», указав ключ как startup-scriptи значение как расположение скрипта в облачном хранилище Google. Сценарий был тем же сценарием запуска ранее.

Итак, как мне добиться этого для существующих блокнотов, управляемых пользователями, и при создании новых?

1 ответ

Основываясь на общедоступной документации, которой я поделился с вами пару дней назад, вам нужно будет правильно и без проблем установить переменные среды, чтобы запустить ваш скрипт (используя --post-startup-script) после полной загрузки экземпляра ноутбука. Путь должен быть URL-адресом или путем к облачному хранилищу, как указано (gs://path-to-file/file-name).

Рассмотрим приведенный ниже подход в качестве примера;

      –-post-startup-script=$GCS_BUCKET_NAME/script.sh