【问题标题】:source repository does not work to publish messages on pub/sub源存储库无法在 pub/sub 上发布消息
【发布时间】:2018-12-12 14:15:42
【问题描述】:

我已按照以下链接将我的存储库集成到 pubsub。 https://cloud.google.com/source-repositories/docs/quickstart-adding-pubsub-notifications#before-you-begin

但是,我的存储库无法发布 pubsub 消息。 这是我的存储库的描述:

$ gcloud beta source repos describe test
name: projects/[my-project-id]/repos/test
pubsubConfigs:
  projects/[my-project-id]/topics/test:
    messageFormat: JSON
    serviceAccountEmail: xxx-compute@developer.gserviceaccount.com
    topic: projects/[my-project-id]/topics/test
size: '2425'
url: https://source.developers.google.com/p/[my-project-id]/r/test

主题“test”有一个名为“test-subscription”的订阅。

$ gcloud pubsub subscriptions describe test-subscription
ackDeadlineSeconds: 10
expirationPolicy:
  ttl: 2678400s
messageRetentionDuration: 604800s
name: projects/[my-project-id]/subscriptions/test-subscription
pushConfig: {}
topic: projects/[my-project-id]/topics/test

所以我尝试在推送新更改后提取消息。但是,没有来自源存储库的消息。 我有什么问题?我还能做什么?请帮帮我。

【问题讨论】:

  • 运行gcloud alpha pubsub topics describe test时看到了什么?
  • 它只显示主题名称
  • 好的,我不知道有什么问题。看看这里:cloud.google.com/pubsub/docs/troubleshooting
  • 谢谢,但我无法通过文件解决这个问题。当我在云控制台上使用它时,我的主题发布得很好。但只有源代码库不发布消息。

标签: google-cloud-platform google-cloud-pubsub google-source-repositories


【解决方案1】:

我复制了你的场景,它对我有用,这可能是一个暂时的问题。 当您关注它时,它似乎处于 Beta 状态。

This 是我遵循的教程,但唯一的区别是我使用了没有“beta”参数的 gcloud 命令:

gcloud source repos update hello-world --add-topic=csr-test

代替

gcloud beta source repos update hello-world --add-topic=csr-test

这里是 PubSubConfig Rest API 的参考

【讨论】:

    【解决方案2】:

    我在尝试验证云源存储库是否已发布对主题的更改时遇到了同样的问题。问题是我需要 pull 命令中订阅的全名:

    gcloud pubsub subscriptions pull projects/[my-project-id]/subscriptions/test-subscription
    

    documentation 仅使用 test-subscription 的基本 ID,但这似乎并不可靠。

    【讨论】:

      最近更新 更多