我正在尝试为谷歌云 Vertex AI 中的用户管理笔记本设置一些环境变量。我不想从 jupyter notebook 本身设置它,因为我希望这些环境变量可供从该 notebook 实例打开 jupyter notebook 的任何人使用。这是我迄今为止尝试过的,但没有任何效果:
- 我有一个现有的用户管理笔记本。我 ssh 进入笔记本 vm,然后在
export TEST_VAR=TEST_VARIABLE_WAS_SET
那里设置一个环境变量。但是,当我从控制台打开一个 jupyter 笔记本并执行os.environ["TEST_VAR"]
时,它会给出一个关键错误。因此,我假设这与 Vertex AI 启动的 jupyter 实验室会话位于不同的 shell 会话或类似的事实有关。我也尝试在vm中添加以下两个元数据键,然后重启vm,但还是不行:
gcloud compute instances add-metadata ${INSTANCE_NAME} --metadata startup-script-url=$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
notebook-env.txt 在哪里
TEST_VAR=TEST_VARIABLE_WAS_SET
- 我还尝试从云控制台创建用户管理笔记本的新实例。在那里,我尝试在“创建后选择要运行的脚本”中提供脚本,并通过“元数据”选项提供键
startup-script-url
和值作为谷歌云存储上的脚本位置。该脚本与之前的启动脚本相同。
那么,对于现有的用户管理的笔记本以及创建新笔记本时,我该如何实现呢?