我想自动化创建 Google Cloud 存储桶的过程。为此,我编写了一个应该执行此操作的脚本。它应该创建一个存储桶来存储来自 dotnet 应用程序的媒体。如果没有存储桶,脚本也可以运行并部署。只有当我将存储桶部分放入脚本中时,它就不再起作用了。
部署脚本:
create_bucket() {
gcloud storage buckets create $BUCKET_NAME \
--project "$PROJECT_ID" \
--location "$ZONE" \
--versioning \
--logging \
--transfer-protocol=HTTPS \
--service-account=$SERVICE_ACCOUNT
# Update environment variable file
set_env_var "ASPNETCORE_STORAGE_BUCKET" "$BUCKET_NAME"
}
配置文件:
BUCKET_NAME="phygital-bucket"
但是,我总是得到一个错误,说参数有问题。这很奇怪,因为我的一位同事可以毫无问题地运行这个脚本。
错误:
ERROR: (gcloud.storage.buckets.create) unrecognized arguments:
--versioning (did you mean '--verbosity'?)
--logging (did you mean '--location'?)
--transfer-protocol=HTTPS
--service-account=phygital-service-account@phygital-222256.iam.gserviceaccount.com (did you mean '--impersonate-service-account'
我尝试了很多其他方法,但没有什么真正有帮助。部署文件非常大,因为它部署了整个 dotnet 应用程序。所以我设置服务帐户的方式应该是正确的。
感谢您的帮助!