首页 > 解决方案 > 如何指定多个 shell 脚本作为 Dataproc 集群创建的初始化操作?

问题描述

谷歌的文档说这--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'

相同,不带引号,逗号后带或不带空格。

我尝试用方括号封装:

--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 脚本。我有什么明显的遗漏吗?

标签: google-cloud-platformgoogle-cloud-storagegoogle-cloud-dataproc

解决方案


您应该删除脚本之间的空格:

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

推荐阅读