Google 最近发布了新的 Eventarc API 触发器,例如 Cloud run。我的想法是为我的云存储构建一个触发器,例如:存储桶中的新文件?触发云运行(带审计日志触发器)
cloud_run_path: ...run.app/api/v1/data-fetcher bucket_id: test-bucket
我刚刚使用以下命令创建了触发器,并且成功了:
gcloud beta eventarc triggers create test-event-trigger \
--location=europe-west1 \
--destination-run-service=test-event-data-fetcher \
--destination-run-path=/api/v1/data-fetcher \
--destination-run-region=europe-west1 \
--matching-criteria="type=google.cloud.audit.log.v1.written" \
--matching-criteria="serviceName=storage.googleapis.com" \
--matching-criteria="methodName=storage.objects.create" \
--matching-criteria="resourceName=projects/_/buckets/test-bucket" \
--service-account=$PROJECT_NR-compute@developer.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)
问题是,我不希望触发器在项目的所有存储桶中查找新文件,只为一个特定的存储桶(例如 test-bucket)查找。我现在用不同的文字测试了几个选项(用 :, =~, ...),但触发器不接受这些。也许您可以帮助我解决语法问题或向我展示如何为我的项目中的一个特定存储桶创建触发器?像这样它不起作用......
sdk google-cloud-storage google-cloud-platform google-cloud-run event-arc