![](/img/trans.png)
[英]Attempting to instantiate Dataproc workflow via Cloud Scheduler results in INVALID_ARGUMENT
[英]Cloud build for deploying Gen 2 Cloud Functions: INVALID_ARGUMENT
我希望通过云构建将一些代码部署到云功能。 总体目标是通过使用 eventarc 更改谷歌云存储来触发云 function gen 2。
我能够通过终端进行部署。 当我在我的 cloudbuild.yaml 中应用相同的 arguments 并希望通过 cloudbuild 部署我的云功能时,我继续收到以下错误:
ERROR: (gcloud.functions.deploy) INVALID_ARGUMENT: Trigger event type must be specified.
这是我在终端中运行的(正确部署):
gcloud functions deploy FUNCTION_NAME\
--gen2 \
--runtime=python310 \
--region=REGION \
--source=. \
--entry-point=ENTRY_POINT_NAME \
--trigger-event-filters="type=google.cloud.storage.object.v1.finalized" \
--trigger-event-filters="bucket=BUCKET_NAME" \
--run-service-account=SERVICE_ACCOUNT \
--trigger-location=us
下面是我在 cloudbuild.yaml 中的内容(引发上面列出的错误):
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
args:
- gcloud
- functions
- deploy
- FUNCTION_NAME
- --gen2
- --runtime=python310
- --region=REGION
- --source=.
- --entry-point=ENTRY_POINT_NAME
- --trigger-event-filters="type=google.cloud.storage.object.v1.finalized"
- --trigger-event-filters="bucket=BUCKET_NAME"
- --run-service-account=SERVICE_ACCOUNT
- --trigger-location=us
我的主要困惑是为什么两者之间的行为会有所不同。
任何帮助是极大的赞赏!
我推荐两件事
CloudSDK
而不是您当前的 - name: 'gcr.io/cloud-builders/gcloud'
args:
- functions
- deploy
- FUNCTION_NAME
- --gen2
- --runtime=python310
- --region=REGION
- --source=.
- --entry-point=ENTRY_POINT_NAME
- --trigger-event-filters="type=google.cloud.storage.object.v1.finalized"
- --trigger-event-filters="bucket=BUCKET_NAME"
- --run-service-account=SERVICE_ACCOUNT
- --trigger-location=us
我最终使用云构建构建了第 2 代 function,方法是使用此处为第 1 代列出的 arguments。我不确定这是否是预期的行为,但最终结果是我想要的第 2 代 ZC1C425268E683894 cloud1450 触发器创建的事件存储变化。 下面是我最终使用的 cloudbuild.yaml:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- functions
- deploy
- FUNCTION_NAME
- --gen2
- --runtime=python310
- --region=REGION
- --source=.
- --entry-point=ENTRY_POINT_NAME
- --trigger-event=google.storage.object.finalize
- --trigger-resource=BUCKET_NAME
- --run-service-account=SERVICE_ACCOUNT
- --trigger-location=us
我遇到了同样的错误,我没有使用第一代标志,而是能够使用python39
作为运行时环境来部署 function。 请尝试以下:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
args:
- gcloud
- functions
- deploy
- FUNCTION_NAME
- --gen2
- --runtime=python39
- --region=REGION
- --source=.
- --entry-point=ENTRY_POINT_NAME
- --trigger-event-filters="type=google.cloud.storage.object.v1.finalized"
- --trigger-event-filters="bucket=BUCKET_NAME"
- --run-service-account=SERVICE_ACCOUNT
- --trigger-location=us
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.