Невозможно создать подписку на тему - PullRequest
0 голосов
/ 02 июля 2019

Я пробую свои силы в диспетчере развертывания Google.

Я создал файл YAML, в котором я создаю тему и принудительную подписку на эту тему.

resources:
  - name: pubsub-topic
    type: gcp-types/pubsub-v1:projects.topics
    properties:
      topic: "topic-01"
  - name: pubsub-sub
    type: gcp-types/pubsub-v1:projects.subscriptions
    properties:
      subscription: "gcf-01"
      topic: "projects/my-project/topics/topic-01"
      pushConfig: 
        pushEndpoint: "https://us-central1-my-project.cloudfunctions.net/helloWorld/"
      ackDeadlineSeconds: 600
      expirationPeriod:

Когда явыполнить команду

cloud deployment-manager deployments create google-pub-sub --config C:\Development\GCP\DeploymentManager.yaml

Я получаю следующую ошибку

Отпечаток развертывания: xxxxxxxxxxxxx == Ожидание создания [operation-xxxxxxxx-xxxxxx-xxxx-xxxx]...не удалось.ОШИБКА: (gcloud.deployment-manager.deployments.create) Ошибка в операции [operation-xxxxx-xxxx-xxxx-xxxx]: ошибки: - код: расположение RESOURCE_ERROR: / deployments / google-pub-sub / resources / pubsub-submessage: '{"ResourceType": "gcp-types / pubsub-v1: projects.subscription", "ResourceErrorCode": "404", "ResourceErrorMessage": {"code": 404, "message": "Ресурс не найден (resource = topic-01). "," status ":" NOT_FOUND "," details ": []," statusMessage ":" Not Found "," requestPath ":" https://pubsub.googleapis.com/v1/projects/my-project/subscriptions/gcf-01","httpMethod":"PUT"}}'

Теперь, если я запускаю команду

gcloud deployment-manager deployments update google-pub-sub --config C:\Development\GCP\DeploymentManager.yaml

, она работает. Означает ли это, что операции не являются последовательными, и система пытается создать подписку до создания темы.

Также я все ещене может установить для параметра ExpirationPeriod значение Never. Если кто-то знает, сообщите мне.

Спасибо !!!

1 Ответ

0 голосов
/ 02 июля 2019

Ну, я решил первую проблему, используя ссылки в файле YAML, поэтому измененный файл выглядит как

resources:
  - name: pubsub-topic
    type: gcp-types/pubsub-v1:projects.topics
    properties:
      topic: "topic-01"
  - name: pubsub-sub
    type: gcp-types/pubsub-v1:projects.subscriptions
    properties:
      subscription: "gcf-01"
      topic: $(ref.pubsub-topic.name)
      pushConfig: 
        pushEndpoint: "https://us-central1-my-project.cloudfunctions.net/helloWorld/"
      ackDeadlineSeconds: 600
      expirationPolicy: {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...