Превратите команду `gcloud beta functions deploy` в шаблон диспетчера развертывания с помощью FailurePolicy - PullRequest
0 голосов
/ 13 октября 2019

Я запускаю эту команду:

gcloud beta functions deploy myfunc \
--entry-point handler \
--project my-project \
--runtime python37 \
--trigger-resource 'gs://my-bucket' \
--trigger-event google.storage.object.finalize

Как мне указать xxx и xxx в шаблоне jinja? Похоже, я должен использовать EventTrigger в шаблоне, но не уверен, как он отформатирован?

resources:
  - name: resource-name
    type: 'gcp-types/cloudfunctions-v1:projects.locations.functions'
    properties:
      function: test
      parent: projects/my-project/locations/us-central1
      location: us-central1
      sourceArchiveUrl: 'gs://my-project-bucket/sdfsd.zip'
      runtime: python37
      entryPoint: handler
      maxInstances: 10
      timeout: 30s
      availableMemoryMb: 64
      eventTrigger: ????

Есть ли полный пример EventTrigger, указанный в YAML, который включает в себя FailurePolicy?

Документацияне делает это очень понятным: https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions#FailurePolicy Не уверен, как это должно выглядеть в шаблоне yaml: enter image description here

Это работает для установки failPolicy вjinja

  ...
  eventTrigger:
    ...
    failurePolicy:
      retry: {}

Довольно странно, но чтобы отключить его, просто не указывайте его:

{% if properties['failurePolicy'] %}
 failurePolicy:
  retry: {}
{% endif %}

1 Ответ

1 голос
/ 13 октября 2019

В Deployment Manager есть несколько конкретных примеров на Github . Вот пример eventTrigger с Cloud Pub / Sub:

eventTrigger:
  resource: $(ref.my-topic.name)
  eventType: providers/cloud.pubsub/eventTypes/topic.publish

Для FailurePolicy я бы попытался добавить это:

eventTrigger:
  ...
  failurePolicy:
    retry: true

Ссылка:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...