Spec-Zone.ru › Chef 18

Ресурс google_pubsub_subscription

[править на GitHub]

Синтаксис

Используется google_pubsub_subscription, чтобы протестировать ресурс подписки Google.

Примеры

describe google_pubsub_subscription(project: 'chef-gcp-inspec', name: 'inspec-gcp-subscription') do
  it { should exist }
end

describe google_pubsub_subscription(project: 'chef-gcp-inspec', name: 'nonexistent') do
  it { should_not exist }
end

Свойства

Свойства, к которым можно получить доступ из ресурса google_pubsub_subscription:

name
Имя подписки.
topic
Ссылка на ресурс темы.
labels
Набор пар «ключ-значение» меток для назначения этой подписки.
push_config
Если для этой подписки используется доставка сообщений с помощью push, это поле используется для ее настройки. Пустое значение pushConfig означает, что подписчик будет получать и подтверждать сообщения с помощью методов API.
oidc_token
Если указано, Pub/Sub сгенерирует и прикрепит токен OIDC JWT в качестве заголовка Authorization в HTTP-запросе для каждого отправляемого сообщения.
service_account_email
Электронный адрес учетной записи сервиса, которая будет использоваться для генерации токена OIDC. Вызывающий объект (для RPC-методов subscriptions.create, subscriptions.patch и subscriptions.modifyPushConfig) должен обладать правом iam.serviceAccounts.actAs для этой учетной записи сервиса.
audience
Аудитория, которая будет использоваться при генерации токена OIDC. Требование аудитории идентифицирует получателей, для которых предназначен JWT. Значение аудитории — строка с одним регистром. Не поддерживается использование нескольких значений (массива) для поля аудитории. Дополнительную информацию о поле аудитории токена OIDC JWT см. здесь: https://tools.ietf.org/html/rfc7519#section-4.1.3 Примечание: если не указано, будет использоваться URL-адрес конечной точки push.
push_endpoint
URL-адрес конечной точки, на которую следует отправлять сообщения. Например, конечная точка веб-хука может использовать «https://example.com/push".
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.
ack_deadline_seconds
Это значение — максимальное время после того, как подписчик получает сообщение, прежде чем подписчик должен подтвердить сообщение. После доставки сообщения, но до истечения срока действия подтверждения и до подтверждения сообщения, это — ожидаемое сообщение и оно не будет повторно доставлено в течение этого времени (по принципу наилучшего соответствия). Для подписок pull это значение используется в качестве начального значения срока действия подтверждения. Чтобы переопределить это значение для определенного сообщения, вызовите subscriptions.modifyAckDeadline с соответствующим ackId, если используется pull. Минимальный пользовательский срок действия, который можно указать, составляет 10 секунд. Максимальный пользовательский срок действия, который можно указать, составляет 600 секунд (10 минут). Если это параметр равен 0, используется значение по умолчанию — 10 секунд. Для доставки push это значение также используется для установки таймаута запроса для вызова конечной точки push. Если подписчик никогда не подтверждает сообщение, система Pub/Sub в конечном итоге повторно доставит сообщение.
message_retention_duration
Сколько времени сохранять неопознанные сообщения в очереди подписки с момента публикации сообщения. Если retainAckedMessages имеет значение true, это также определяет удержание подтвержденных сообщений, а также определяет, как далеко назад можно выполнить subscriptions.seek. По умолчанию 7 дней. Не может быть более 7 дней ("604800s") или менее 10 минут ("600s"). Продолжительность в секундах с точностью до девяти десятичных знаков, завершаемая символом ’s’. Пример: "600.5s".
retain_acked_messages
Указывает, нужно ли сохранять подтвержденные сообщения. Если true, сообщения не удаляются из очереди подписки, даже если они подтверждены, до тех пор, пока они не выйдут из окна messageRetentionDuration.
expiration_policy
Политика, которая определяет условия истечения срока действия этой подписки. Подписка считается активной, пока любой подключенный подписчик успешно получает сообщения из подписки или выполняет операции с подпиской. Если expirationPolicy не задан, будет использоваться политика по умолчанию со значением ttl в 31 день. Если она задана, но ttl пустое, ресурс никогда не истекает. Минимальное разрешенное значение для expirationPolicy.ttl — 1 день.
ttl
Устанавливает временной интервал «до истечения срока действия» для связанного ресурса. Ресурс истекает, если он не активен в течение периода ttl. Если ttl не задано, связанный ресурс никогда не истекает. Продолжительность в секундах с точностью до девяти десятичных знаков, завершаемая символом ’s’. Пример — «3.5s».
dead_letter_policy
Политика, которая определяет условия для отправки сообщений в состояние «недоставленные» в этой подписке. Если dead_letter_policy не задан, функция «недоставленные сообщения» отключена. Учетная запись сервиса Cloud Pub/Sub, связанная с родительским проектом этой подписки (т. е., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com), должна иметь разрешение на подтверждение () сообщений в этой подписке.
dead_letter_topic
Имя темы, в которую должны публиковаться сообщения, помеченные как «недоставленные». Формат — projects/{project}/topics/{topic}. Учетная запись сервиса Cloud Pub/Sub, связанная с родительским проектом вложенной подписки (т. е., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com), должна иметь разрешение на публикацию () в эту тему. Операция завершится ошибкой, если тема не существует. Пользователи должны убедиться, что к этой теме прикреплена подписка, так как сообщения, опубликованные в тему без подписок, теряются.
max_delivery_attempts
Максимальное количество попыток доставки для любого сообщения. Значение должно быть между 5 и 100. Количество попыток доставки определяется как 1 + (сумма количества NACK и количества случаев превышения срока подтверждения для сообщения). NACK — это любой вызов ModifyAckDeadline с сроком действия 0. Обратите внимание, что клиентские библиотеки могут автоматически продлять сроки подтверждения. Это поле будет учитываться в оптимальном варианте. Если этот параметр равен 0, используется значение по умолчанию — 5.

Разрешения GCP

Убедитесь, что для текущего проекта включен API Cloud Pub/Sub (https://console.cloud.google.com/apis/library/pubsub.googleapis.com/).

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_pubsub_subscription/

Spec-Zone.ru

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