我正在尝试将云应用程序部署到 Google Cloud Run,但无法设置一些已创建并添加到项目的 Secrets Manager 中的机密并授予适当的权限。 CLI 无法找到相应的机密。如果我尝试通过设置对机密的引用从 Cloud Run UI 进行部署,则相同的机密可以正常工作。
我的命令:
gcloud run deploy app-1 --image=us-east1-docker.pkg.dev/app-1/app/app-1:latest --region=us-east1 --service-account=vertex-ai-consumer@app-1.iam.gserviceaccount.com --allow-unauthenticated --set-secrets="GOOGLE_API_KEY=projects/app-1/secrets/GOOGLE_API_KEY:latest"
给出以下错误:
ERROR: (gcloud.run.deploy) 'projects/app-1/secrets/GOOGLE_API_KEY' is not a valid secret name.
这是我定义的所有秘密的错误
我能够通过删除对秘密的完整路径引用来完成这项工作,即将命令更改为:
gcloud run deploy app-1 --image=us-east1-docker.pkg.dev/app-1/app/app-1:latest --region=us-east1 --service-account=vertex-ai-consumer@app-1.iam.gserviceaccount.com --allow-unauthenticated --set-secrets="GOOGLE_API_KEY=GOOGLE_API_KEY:latest"
这是因为 gcloud 命令需要项目 ID 中的数字 - 而不是您的项目名称。
例如应该是:
projects/152117345918/secrets/your-secret-name
但看起来您正在提供您的项目名称:
projects/app-1/secrets/...