Исходный репозиторий не работает, чтобы публиковать сообщения в pub/sub
Я перешел по ссылке ниже, чтобы интегрировать мой репозиторий в pubsub. https://cloud.google.com/source-repositories/docs/quickstart-adding-pubsub-notifications
Однако мой репозиторий не работает для публикации сообщений 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
Поэтому я попытался получить сообщения после добавления новых изменений. Но нет сообщений из исходного репозитория. Что за проблема со мной? Что я могу сделать больше? Пожалуйста, помогите мне.
2 ответа
Я воспроизвел ваш сценарий, и у меня он сработал, возможно, это временная проблема. Когда вы следили за ним, оказалось, что он находится в состоянии бета.
Это был учебник я следовал, хотя, с той лишь разницей, что я использовал команды 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
Я столкнулся с той же проблемой, пытаясь убедиться, что облачный исходный репозиторий опубликовал изменение темы. Проблема была в том, что мне нужно было полное имя подписки в команде pull:
gcloud pubsub subscriptions pull projects/[my-project-id]/subscriptions/test-subscription
В документации используется только базовый идентификатор
test-subscription
но это не кажется надежным.