Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ack_deadline
-
Подполе подписки. Необязательно. Срок ожидания для подтверждения (ACK) сообщений подпиской перед повторной отправкой. См. примеры.
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
-
    Варианты:
  • absent
  • present ←
Состояние темы или очереди.
Применяется к самому мелкому ресурсу.
Если подписка указана, она удаляется.
Если указана только тема, удаляется она.
ПРИМЕЧАНИЕ. Тему можно удалить, не удалив предварительно подписку.
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': 'мое сообщение', attributes: {'key1': 'значение1'}]
pulled_messages
список
Только при указании subscription.pull
список словарей, содержащих информацию о сообщении. Поля: ack_id, атрибуты, данные, message_id.

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

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

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

Пример:
mytopic


Статус

  • Для этого модуля не гарантируется обратная совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • 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.9/modules/gcpubsub_module.html

Spec-Zone.ru

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