Google cloud platform Google Cloud运行-使用Eventarc API触发(resourceName语法)

Google cloud platform Google Cloud运行-使用Eventarc API触发(resourceName语法),google-cloud-platform,sdk,google-cloud-storage,google-cloud-run,event-arc,Google Cloud Platform,Sdk,Google Cloud Storage,Google Cloud Run,Event Arc,谷歌最近发布了新的Eventarc API触发器,例如Cloud run。 我想为我的云存储构建一个触发器,比如: bucket中的新文件→ 触发云运行(使用审核日志触发器) 云计算运行路径:…run.app/api/v1/data-fetcher bucket\u id:测试bucket 我刚刚用以下命令创建了触发器,它成功了: gcloud beta eventarc triggers create test-event-trigger \ --location=europe-west1 \

谷歌最近发布了新的Eventarc API触发器,例如Cloud run。 我想为我的云存储构建一个触发器,比如: bucket中的新文件→ 触发云运行(使用审核日志触发器)

云计算运行路径:…run.app/api/v1/data-fetcher bucket\u id:测试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
问题是,我不希望触发器在项目中的所有bucket中查找新文件,只查找一个特定bucket(例如testbucket)。我现在用不同的文字测试了几个选项(使用:,=~,…),但触发器不接受这些选项。
也许你可以帮我解决语法问题,或者告诉我如何在我的项目中为一个特定的bucket创建触发器?就像这样,它不工作…

截至目前(2020-11),触发器配置中不支持通配符和前缀匹配。这项功能似乎已被大量要求,而且拥有这一产品领域的谷歌产品经理显然知道这一点。没有添加此类功能的公开/提交日期。如果这是你的拦截器,联系您当地的Google代表,他们可以安排与产品经理通话,讨论路线图。

您可以通过使用匹配条件
type=Google.cloud.pubsub.topic.v1.messagePublished
来实现这一点,该条件订阅特定的pubsub主题,而不是审计日志中的所有存储事件。然后,在
测试bucket
上配置一个存储触发器,以发布到为此Eventarc触发器生成的主题

编辑:我的配置如下

gcloud beta eventarc triggers create <my_trigger> \
    --destination-run-service=<my service> \
    --destination-run-region=us-central1 \
    --destination-run-path="/<my_endpoint>" \
    --matching-criteria="type=google.cloud.pubsub.topic.v1.messagePublished" \
    --service-account=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com
gcloud beta eventarc触发器创建\
--目标运行服务=\
--目的地运行区域=us-central1\
--目标运行路径=“/”\
--匹配条件=“type=google.cloud.pubsub.topic.v1.messagePublished”\
--服务帐户=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com
然后跑

gcloud beta eventarc triggers describe <my_trigger>
gcloud beta eventarc触发器描述

获取生成主题的名称,并配置存储触发器以发布到该主题。

是否可以检查是否配置了其他触发器?您的意思是,它们可能会以某种方式相互阻止?我只是在这个项目中运行了一个cloudbuild触发器没有一个cloudbuild触发器,一个事件触发器。此命令的响应是什么?
gcloud beta eventac triggers list--location=europe-west1
?它就是我在上面创建的一个,状态为active。您的配置是否收到了一些信息?