【发布时间】:2021-10-12 12:40:25
【问题描述】:
我在 asia-south1 区域部署了一个 cloudrun 服务,并希望在 pubsub 中发布消息时从 eventarc 触发它。
但是 asia-south1 没有 eventarc,所以我决定将 event arc trigger 创建为 location=global。
下面看下面的命令。
gcloud eventarc triggers create pubsub-trigger-new-auction-notification \
--location=global \
--destination-run-service=notification \
--destination-run-path=/notify/bidder/auction \
--destination-run-region=asia-south1 \
--event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
--transport-topic=projects/<my-project_id>/topics/newauction-notify \
--service-account=cloud-run-pubsub-invoker@<my-project_id>.iam.gserviceaccount.com
但是它失败并出现以下错误,提到该类型应该是 google.cloud.audit.log.v1.written
ERROR: (gcloud.eventarc.triggers.create) INVALID_ARGUMENT: The request was invalid: [INVALID_ARGUMENT] The request was invalid: invalid value for attribute 'type' in trigger.event_filters: only type "google.cloud.audit.log.v1.written" is allowed in global location
当我尝试使用 google.cloud.audit.log.v1.written 创建触发器时 它因缺少服务名称错误而失败。请看下文
ERROR: (gcloud.eventarc.triggers.create) INVALID_ARGUMENT: The request was invalid: [INVALID_ARGUMENT] The request was invalid: missing required attribute "serviceName" in trigger.event_filters
我似乎找不到任何提及使用 pubsub 和云运行的全局触发器的文档。 当事件弧位置是全局的或指向正确的方向时,有人可以帮助我了解如何将基于 pubsub 的事件触发器链接到云运行吗?
谢谢
【问题讨论】:
标签: google-cloud-platform google-cloud-pubsub google-cloud-run event-arc