如何指定多个 shell 脚本作为 Dataproc 集群创建的初始化操作?

How do I specify multiple shell scripts as initialization actions for Dataproc cluster creation?

Google 的文档说 --initialization-actions 获取 GCS URL 列表。如果我指定一个:

--initialization-actions 'gs://my-project/myscript.sh'

这很好用。

--initialization-actions 'gs://my-project/myscript.sh', 'gs://my-project/myscript2.sh'

出现以下错误:

INVALID_ARGUMENT: Google Cloud Storage object does not exist 'gs://my-project/myscript.sh gs://my-project/myscript2.sh'

相同,不带引号,逗号后有或没有 space。

我试过用方括号封装:

--initialization-actions ['gs://my-project/myscript.sh', 'gs://my-project/myscript2.sh']

而这次的错误是:

Executable '['gs://my-project/myscript.sh', 'gs://my-project/myscript2.sh']' URI must begin with 'gs://'

我可以百分之一地确认我使用的路径是有效的,并且两个对象都是有效的 shell 脚本。有什么明显的我想念的吗?

刚弄明白,格式需要是:

--initialization-actions 'gs://my-project/myscript.sh, gs://my-project/myscript2.sh'

即两个脚本都在一组引号中,用逗号分隔。

您应该删除脚本之间的 space:

--initialization-actions gs://my-project/myscript.sh,gs://my-project/myscript2.sh