Spec-Zone.ru › Ansible 2.5

gcpubsub - Создание и удаление тем/подписок, публикация и получение сообщений в PubSub

Новая версия с 2.3.

  • Описание
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата
  • Статус
    • Автор

Описание

  • Создание и удаление тем/подписок, публикация и получение сообщений в PubSub. См. https://cloud.google.com/pubsub/docs для обзора.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • google-auth >= 0.5.0
  • google-cloud-pubsub >= 0.22.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ack_deadline
Подполе подписки. Необязательно. Срок ожидания по умолчанию для подписок для подтверждения сообщения перед его повторной отправкой. См. примеры.
name
Подполе подписки. Требуется, если указана подписка. См. примеры.
publish
Список словарей, описывающих сообщения и атрибуты, которые должны быть опубликованы. Словарь имеет формат сообщение(строка):атрибуты(словарь). Требуется только сообщение.
pull
Подполе подписки. Необязательно. Если указано, сообщения будут извлекаться из темы через указанное имя подписки. max_messages (целое число; по умолчанию None; максимальное количество сообщений для извлечения), message_ack (булево; по умолчанию False; подтвердить сообщение) и return_immediately (булево; по умолчанию True, не ждать появления сообщений). Если сообщения подтверждаются, changed устанавливается в True, в противном случае - в False.
push_endpoint
Подполе подписки. Необязательно. Если указано, сообщение будет отправлено на конечную точку. См. https://cloud.google.com/pubsub/docs/advanced#push_endpoints для получения дополнительной информации.
state
    Варианты:
  • отсутствует
  • присутствует ←
Состояние темы или очереди.
Применяется к самому мелкому ресурсу.
Если подписка указана, она удаляется.
Если указана только тема, удаляется она.
ПРИМЕЧАНИЕ - тему можно удалить, не удаляя предварительно подписку.
subscription
Словарь, содержащий имя подписки, связанное с темой (требуется), а также необязательные ack_deadline, push_endpoint и pull. Для извлечения из подписки доступны message_ack (булево), max_messages (целое число) и return_immediate в качестве подполей. См. подполя name, push_endpoint и ack_deadline для получения дополнительной информации.
topic
требуется
Имя темы GCP pubsub.
Требуется только имя, а не полный путь.

Примечания

Примечание

  • Извлечение из подписки происходит до публикации. Вы не можете публиковать и извлекать в одной задаче.

Примеры

# (Message will be pushed; there is no check to see if the message was pushed before
- name: Create a topic and publish a message to it
  gcpubsub:
    topic: ansible-topic-example
    state: present

# Subscriptions associated with topic are not deleted.
- name: Delete Topic
  gcpubsub:
    topic: ansible-topic-example
    state: absent

# Setting absent will keep the messages from being sent
- name: Publish multiple messages, with attributes (key:value available with the message)
  gcpubsub:
    topic: '{{ topic_name }}'
    state: present
    publish:
      - message: this is message 1
        attributes:
          mykey1: myvalue
          mykey2: myvalu2
          mykey3: myvalue3
      - message: this is message 2
        attributes:
          server: prod
          sla: "99.9999"
          owner: fred

- name: Create Subscription (pull)
  gcpubsub:
    topic: ansible-topic-example
    subscription:
    - name: mysub
    state: present

# pull is default, ack_deadline is not required
- name: Create Subscription with ack_deadline and push endpoint
  gcpubsub:
    topic: ansible-topic-example
    subscription:
    - name: mysub
      ack_deadline: "60"
      push_endpoint: http://pushendpoint.example.com
    state: present

# Setting push_endpoint to "None" converts subscription to pull.
- name: Subscription change from push to pull
  gcpubsub:
    topic: ansible-topic-example
    subscription:
      name: mysub
      push_endpoint: "None"

### Topic will not be deleted
- name: Delete subscription
  gcpubsub:
    topic: ansible-topic-example
    subscription:
    - name: mysub
    state: absent

# only pull keyword is required.
- name: Pull messages from subscription
  gcpubsub:
    topic: ansible-topic-example
    subscription:
      name: ansible-topic-example-sub
      pull:
        message_ack: yes
        max_messages: "100"

Значения возврата

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

Ключ Возвращаемое значение Описание
publish
список
Только при указании
Список словарей, описывающих сообщения и атрибуты, которые должны быть опубликованы. Словарь имеет формат сообщение(строка):атрибуты(словарь). Требуется только сообщение.

Пример:
publish: ['message': 'мое сообщение', атрибуты: {'key1': 'значение1'}]
pulled_messages
список
Только при указании subscription.pull
список словарей, содержащих информацию о сообщении. Поля - ack_id, атрибуты, данные, message_id.

Пример:
[{'attributes': {'...': None, 'key1': 'val1'}, 'ack_id': 'XkASTCcYREl...', 'data': 'это сообщение 1', 'message_id': '49107464153705'}, '..']
state
строка
Всегда
Состояние темы или подписки. Значение будет либо 'отсутствует', либо 'присутствует'.

Пример:
присутствует
subscription
строка
При указании полей подписки
Имя подписки.

Пример:
mysubscription
topic
строка
Всегда
Имя темы.

Пример:
mytopic


Статус

Этот модуль помечен как бета-версия, что означает, что он не гарантирует обратную совместимость интерфейса.

Автор

  • Tom Melendez (@supertom) <tom@supertom.com>

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/gcpubsub_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API