0

我正在尝试为谷歌云 Vertex AI 中的用户管理笔记本设置一些环境变量。我不想从 jupyter notebook 本身设置它,因为我希望这些环境变量可供从该 notebook 实例打开 jupyter notebook 的任何人使用。这是我迄今为止尝试过的,但没有任何效果:

  1. 我有一个现有的用户管理笔记本。我 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
  1. 我还尝试从云控制台创建用户管理笔记本的新实例。在那里,我尝试在“创建后选择要运行的脚本”中提供脚本,并通过“元数据”选项提供键startup-script-url和值作为谷歌云存储上的脚本位置。该脚本与之前的启动脚本相同。

那么,对于现有的用户管理的笔记本以及创建新笔记本时,我该如何实现呢?

4

1 回答 1

0

根据我几天前与您共享的公共文档,您需要做的是--post-startup-script在笔记本实例完全启动后运行您的脚本(使用 )正确设置环境变量并且没有问题。该路径必须是上述的 URL 或 Cloud Storage 路径 (gs://path-to-file/file-name)

以以下方法为例;

–-post-startup-script=$GCS_BUCKET_NAME/script.sh
于 2022-01-27T21:51:08.510 回答