Spec-Zone.ru › Ansible 2.9

gcp_pubsub_subscription – Создаёт подписку GCP

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

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

Обзор

  • Именованный ресурс, представляющий поток сообщений из одного конкретного топика, который должен быть доставлен подписывающемуся приложению.

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ack_deadline_seconds
целое число
Это максимальное время после получения сообщения подписчиком, прежде чем подписчик должен подтвердить сообщение. После доставки сообщения, но до истечения срока подтверждения и до подтверждения сообщения, это незавершенное сообщение и оно не будет повторно доставлено в течение этого времени (с наилучшими усилиями).
Для подписок с pull-методом это значение используется в качестве начального значения срока подтверждения. Чтобы переопределить это значение для конкретного сообщения, вызовите subscriptions.modifyAckDeadline с соответствующим ackId, если используется pull. Минимальный настраиваемый срок — 10 секунд. Максимальный настраиваемый срок — 600 секунд (10 минут).
Если этот параметр равен 0, используется значение по умолчанию — 10 секунд.
Для доставки push, это значение также используется для установки таймаута запроса для вызова push-точки.
Если подписчик никогда не подтвердит сообщение, система Pub/Sub в конечном итоге повторно доставит сообщение.
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
env_type
строка
Указывает, в какой среде Ansible вы выполняете этот модуль.
Это значение не должно устанавливаться, если вы не знаете, что делаете.
Это изменяет только строку User Agent для всех запросов к API.
expiration_policy
словарь
добавлен в 2.9
Политика, определяющая условия истечения срока действия этой подписки.
Подписка считается активной, пока подключённый подписчик успешно потребляет сообщения из подписки или выполняет операции с подпиской. Если expirationPolicy не установлен, будет использоваться политика по умолчанию с ttl в 31 день. Минимальное допустимое значение для expirationPolicy.ttl — 1 день.
ttl
строка
Указывает длительность "времени жизни" для связанного ресурса. Ресурс истекает, если он не активен в течение периода ttl. Определение "активности" зависит от типа связанного ресурса. Минимальные и максимальные допустимые значения для ttl также зависят от типа связанного ресурса. Если ttl не задан, связанный ресурс никогда не истекает.
Продолжительность в секундах с до девятью дробными знаками, заканчивающимися на 's'.
Пример — "3.5s".
labels
словарь
добавлен в 2.8
Набор пар ключ/значение метки, которые нужно назначить этой подписке.
message_retention_duration
строка
добавлен в 2.8
По умолчанию:
"604800s"
Сколько времени нужно хранить неподтверждённые сообщения в очереди подписки с момента публикации сообщения. Если retainAckedMessages равно true, это также настраивает хранение подтверждённых сообщений и, следовательно, настраивает, насколько назад можно выполнить subscriptions.seek. По умолчанию — 7 дней. Не может быть больше 7 дней ("604800s") или меньше 10 минут ("600s").
Продолжительность в секундах с до девятью дробными знаками, заканчивающимися на 's'. Пример: `"600.5s"`.
name
строка / обязательно
Имя подписки.
project
строка
Проект Google Cloud Platform, который нужно использовать.
push_config
словарь
Если используется доставка push с этой подпиской, это поле используется для ее настройки. Пустой pushConfig означает, что подписчик будет извлекать и подтверждать сообщения с помощью методов API.
attributes
словарь
Атрибуты конфигурации конечной точки.
У каждой конечной точки есть набор поддерживаемых API атрибутов, которые можно использовать для управления различными аспектами доставки сообщений.
В настоящее время поддерживаемый атрибут — x-goog-version, который можно использовать для изменения формата сообщения push. Этот атрибут указывает версию данных, ожидаемых конечной точкой. Это контролирует форму сообщения push (то есть его поля и метаданные). Версия конечной точки основана на версии API Pub/Sub.
Если он отсутствует при вызове subscriptions.create, он по умолчанию принимает версию API, используемого для этого вызова. Если он отсутствует при вызове subscriptions.modifyPushConfig, его значение не будет изменено. Вызовы subscriptions.get всегда возвращают действительную версию, даже если подписка была создана без этого атрибута.
Возможные значения для этого атрибута: - v1beta1: использует формат push, определенный в API Pub/Sub v1beta1.
- v1 или v1beta2: использует формат push, определенный в API Pub/Sub v1.
push_endpoint
строка / обязательно
URL расположения конечной точки, на которую должны быть отправлены сообщения.
Например, конечная точка Webhook может использовать "https://example.com/push".
retain_acked_messages
булево
добавлен в 2.8
    Варианты:
  • no
  • yes
Указывает, нужно ли сохранять подтверждённые сообщения. Если `true`, сообщения не удаляются из очереди подписки, даже если они подтверждены, до тех пор, пока они не выйдут из временного интервала messageRetentionDuration.
scopes
список
Массив используемых областей.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в словаре, либо как строка JSON, представляющая его.
service_account_email
строка
Дополнительный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
строка
    Варианты:
  • present ←
  • absent
Нужно ли, чтобы данный объект существовал в GCP
topic
словарь / обязательно
Ссылка на ресурс темы.
Это поле представляет ссылку на ресурс темы в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_pubsub_topic, а затем установить это поле темы на "{{ имя-ресурса }}"

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions
  • Управление подписками: https://cloud.google.com/pubsub/docs/admin#managing_subscriptions
  • для аутентификации можно установить service_account_file с помощью переменной среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents с помощью переменной среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
  • Для аутентификации можно установить service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использованы только в том случае, если значения в плейбуке не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a topic
  gcp_pubsub_topic:
    name: topic-subscription
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: topic

- name: create a subscription
  gcp_pubsub_subscription:
    name: test_object
    topic: "{{ topic }}"
    ack_deadline_seconds: 300
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Возвращаемые значения

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

Ключ Возвращаемое Описание
ackDeadlineSeconds
целое число
успех
Это максимальное время после получения сообщения подписчиком, прежде чем подписчик должен подтвердить сообщение. После доставки сообщения, но до истечения срока подтверждения и до подтверждения сообщения, это незавершенное сообщение и оно не будет повторно доставлено в течение этого времени (с точки зрения наилучшего результата).
Для подписок pull это значение используется как начальное значение для срока подтверждения. Чтобы переопределить это значение для данного сообщения, вызовите subscriptions.modifyAckDeadline с соответствующим ackId, если используется pull. Минимальный настраиваемый срок составляет 10 секунд. Максимальный настраиваемый срок составляет 600 секунд (10 минут).
Если этот параметр равен 0, используется значение по умолчанию 10 секунд.
Для доставки push это значение также используется для установки таймаута запроса для вызова конечной точки push.
Если подписчик никогда не подтверждает сообщение, система Pub/Sub в конечном итоге повторно доставит сообщение.

expirationPolicy
сложный
успех
Политика, которая определяет условия истечения срока действия этой подписки.
Подписка считается активной, пока любой подключенный подписчик успешно потребляет сообщения из подписки или выполняет операции с подпиской. Если expirationPolicy не задан, будет использована политика по умолчанию с ttl в 31 день. Минимальное разрешенное значение для expirationPolicy.ttl составляет 1 день.

ttl
строка
успех
Указывает продолжительность "времени жизни" для связанного ресурса. Ресурс истекает, если он неактивен в течение срока ttl. Определение "активности" зависит от типа связанного ресурса. Минимальное и максимальное допустимые значения для ttl также зависят от типа связанного ресурса. Если ttl не задан, связанный ресурс никогда не истекает.
Продолжительность в секундах с максимальными девятью дробными цифрами, завершающимися символом 's'.
Пример - "3.5s".

labels
словарь
успех
Набор пар ключ/значение меток для назначения этой подписки.

messageRetentionDuration
строка
успех
Время хранения неопознанных сообщений в очереди подписки с момента публикации сообщения. Если retainAckedMessages имеет значение true, то это также настраивает хранение подтвержденных сообщений, и, следовательно, настраивает, насколько назад во времени можно выполнить subscriptions.seek. По умолчанию 7 дней. Не может быть больше 7 дней ("604800s") или меньше 10 минут ("600s").
Продолжительность в секундах с максимальными девятью дробными цифрами, завершающимися символом 's'. Пример: `"600.5s"`.

name
строка
успех
Имя подписки.

pushConfig
сложный
успех
Если используется доставка push с этой подпиской, это поле используется для ее настройки. Пустой pushConfig означает, что подписчик будет получать и подтверждать сообщения с помощью методов API.

attributes
словарь
успех
Атрибуты конфигурации конечной точки.
Каждая конечная точка имеет набор поддерживаемых API атрибутов, которые могут быть использованы для управления различными аспектами доставки сообщений.
В настоящее время поддерживаемый атрибут - x-goog-version, который можно использовать для изменения формата отправленного сообщения. Этот атрибут указывает версию данных, ожидаемых конечной точкой. Это контролирует форму отправленного сообщения (т.е., его поля и метаданные). Версия конечной точки основана на версии API Pub/Sub.
Если он не указан при вызове subscriptions.create, он по умолчанию будет соответствовать версии API, используемой для такого вызова. Если он не указан при вызове subscriptions.modifyPushConfig, его значение не будет изменено. Вызовы subscriptions.get всегда будут возвращать корректную версию, даже если подписка была создана без этого атрибута.
Возможные значения этого атрибута: - v1beta1: использует формат push, определенный в API Pub/Sub v1beta1.
- v1 или v1beta2: использует формат push, определенный в API Pub/Sub v1.

pushEndpoint
строка
успех
URL-адрес конечной точки, в которую должны быть отправлены сообщения.
Например, конечная точка веб-хука может использовать "https://example.com/push".

retainAckedMessages
логическое значение
успех
Указывает, нужно ли хранить подтвержденные сообщения. Если `true`, сообщения не удаляются из очереди подписки, даже если они подтверждены, до тех пор, пока они не выйдут за пределы временного интервала messageRetentionDuration.

topic
словарь
успех
Ссылка на ресурс Topic.



Статус

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

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

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

© 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/gcp_pubsub_subscription_module.html

Spec-Zone.ru

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