我正试图在谷歌云Vertex AI中为用户管理的笔记本设置一些环境变量。我不想从jupyter笔记本本身设置这些变量,因为我希望这些环境变量对从该笔记本实例打开jupyter笔记本的任何人都可用。这是我迄今为止尝试过的,但没有任何效果:
- 我有一个现有的用户管理笔记本。我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
,值为谷歌云存储上的脚本位置。该脚本与之前的启动脚本相同
那么,对于现有用户管理的笔记本电脑以及创建新笔记本电脑时,我该如何实现这一点?
根据我几天前与您共享的公共文档,要正确无问题地设置环境变量,您需要做的是在笔记本实例完全启动后运行脚本(使用--post-startup-script
(。路径必须是如上所述的URL或云存储路径(gs://文件路径/文件名(。
以以下方法为例;
–-post-startup-script=$GCS_BUCKET_NAME/script.sh