google.cloud.gcp_cloudscheduler_job модуль – Создаёт задачу GCP Job
Примечание
Этот модуль является частью коллекции google.cloud (версия 1.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Чтобы использовать его в playbook, укажите: google.cloud.gcp_cloudscheduler_job.
Обзор
- Расписание задач, которая может публиковать сообщение pubsub или http-запрос каждые X интервалов времени, используя строку формата crontab.
- Для использования Cloud Scheduler ваш проект должен содержать приложение App Engine, расположенное в одном из поддерживаемых регионов. Если в вашем проекте нет приложения App Engine, необходимо создать его.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token строка | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
app_engine_http_target словарь | Целевой ресурс App Engine HTTP. Если задача использует целевой ресурс App Engine HTTP, планировщик задач отправит запрос на экземпляр службы. |
|
app_engine_routing словарь |
Настройки маршрутизации App Engine для задачи. |
|
instance строка |
Экземпляр приложения. По умолчанию задача отправляется на доступный экземпляр при попытке выполнения. |
|
service строка |
Служба приложения. По умолчанию задача отправляется на службу по умолчанию при попытке выполнения. |
|
version строка |
Версия приложения. По умолчанию задача отправляется на версию по умолчанию при попытке выполнения. |
|
body строка |
Тело HTTP-запроса. Тело запроса разрешено только в случае, если метод HTTP равен POST или PUT. Установка тела для задачи с несовместимым методом HTTP приведет к ошибке «недействительный аргумент». Строка в кодировке base64. |
|
headers словарь |
Заголовки HTTP-запроса. Этот массив содержит имена и значения полей заголовков. Заголовки могут быть установлены при создании задачи. |
|
http_method строка |
Метод HTTP для запроса. |
|
relative_uri строка / обязательно |
Относительный URI. |
attempt_deadline строка | Срок выполнения попытки задачи. Если обработчик запроса не отвечает в этот срок, запрос отменяется, а попытка отмечается как ошибка DEADLINE_EXCEEDED. Неуспешную попытку можно просмотреть в журналах выполнения. Планировщик задач повторит задачу в соответствии с RetryConfig. Допустимая продолжительность для этого срока: * Для HTTP-целей: от 15 секунд до 30 минут. * Для целей App Engine HTTP: от 15 секунд до 24 часов. * **Примечание**: Для целей PubSub это поле игнорируется — установка его приведет к неразрешимой разнице. Продолжительность в секундах с точностью до девяти знаков после запятой, заканчивающаяся на «s». Пример: «3,5s» . По умолчанию: |
auth_kind строка / обязательно | Тип используемых учетных данных. Варианты:
|
description строка | Описание задачи для удобства чтения. Эта строка не должна содержать более 500 символов. |
env_type строка | Указывает среду Ansible, в которой запущен этот модуль. Не устанавливайте это поле, если вы точно не знаете, что делаете. Это влияет только на строку User Agent для всех API-запросов. |
http_target словарь | Целевой ресурс HTTP. Если задача использует целевой ресурс HTTP, планировщик задач отправит запрос на указанный URL. |
|
body строка |
Тело HTTP-запроса. Тело запроса разрешено только в случае, если метод HTTP равен POST, PUT или PATCH. Установка тела для задачи с несовместимым методом HTTP приведет к ошибке. Строка в кодировке base64. |
|
headers словарь |
Этот массив содержит имена и значения полей заголовков. Повторные заголовки не поддерживаются, но значение заголовка может содержать запятые. |
|
http_method строка |
Метод HTTP для запроса. |
|
oauth_token словарь |
Содержит информацию, необходимую для генерации токена OAuth. Этот тип авторизации следует использовать при отправке запросов на конечные точки GCP. |
|
scope строка |
Диапазон OAuth, используемый для генерации токена доступа OAuth. Если не указано, будет использоваться «https://www.googleapis.com/auth/cloud-platform”. |
|
service_account_email строка / обязательно |
Электронный адрес учетной записи службы, используемой для генерации токена OAuth. Учетная запись службы должна находиться в том же проекте, что и задача. |
|
oidc_token словарь |
Содержит информацию, необходимую для генерации маркера OpenID Connect. Этот тип авторизации следует использовать при отправке запросов на сторонние конечные точки или в Cloud Run. |
|
audience строка |
Аудитория, используемая при генерации маркера OIDC. Если не указано, используется URI, указанный в target. |
|
service_account_email строка / обязательно |
Электронный адрес учетной записи службы, используемый для генерации маркера OAuth. Учетная запись службы должна находиться в том же проекте, что и задача. |
|
uri строка / обязательно |
Полный URI-путь, на который будет отправлен запрос. |
name строка / обязательно | Имя задачи. |
project строка | Проект Google Cloud Platform для использования. |
pubsub_target словарь | Целевая точка Pub/Sub. Если задача предоставляет целевую точку Pub/Sub, плановое задание опубликует сообщение в указанную тему. |
|
attributes словарь |
Атрибуты для PubsubMessage. Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут. |
|
data строка |
Загрузка сообщения для PubsubMessage. Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут. Строка в кодировке base64. |
|
topic_name строка / обязательно |
Полное имя ресурса темы Cloud Pub/Sub, в которую будут публиковаться сообщения при доставке задачи. ~>**ПРИМЕЧАНИЕ:** Имя темы должно быть в том же формате, что и требуется в PublishRequest.name PubSub, например, `projects/my-project/topics/my-topic`. |
region строка / обязательно | Регион, в котором находится задача планировщика. |
retry_config словарь | По умолчанию, если задача не завершится успешно, что означает, что от обработчика не получено подтверждение, она будет повторно выполнена с экспоненциальной задержкой в соответствии с настройками. |
|
max_backoff_duration строка |
Максимальное время ожидания перед повторной попыткой выполнения задачи после ее сбоя. Продолжительность в секундах с точностью до девяти десятичных знаков, завершаемых буквой «s». |
|
max_doublings целое число |
Время между повторными попытками удваивается maxDoublings раз. Интервал повторных попыток задачи начинается с minBackoffDuration, затем удваивается maxDoublings раз, затем увеличивается линейно и, наконец, повторяется через интервалы maxBackoffDuration до retryCount раз. |
|
max_retry_duration строка |
Предельное время для повторных попыток не удачной задачи, измеряемое со времени первой попытки выполнения. При указании retryCount задача будет повторно выполняться до тех пор, пока не будут достигнуты оба предела. Продолжительность в секундах с точностью до девяти десятичных знаков, завершаемых буквой «s». |
|
min_backoff_duration строка |
Минимальное время ожидания перед повторной попыткой выполнения задачи после ее сбоя. Продолжительность в секундах с точностью до девяти десятичных знаков, завершаемых буквой «s». |
|
retry_count целое число |
Количество попыток, которые система предпримет для запуска задачи с помощью экспоненциального алгоритма отката, описанного maxDoublings. Значения больше 5 и отрицательные значения не допускаются. |
schedule строка | Описание графика выполнения задачи. |
scopes список / элементы=строка | Массив используемых областей. |
service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, представленное либо в виде словаря, либо в виде JSON-строки. |
service_account_email строка | Необязательный электронный адрес учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. |
service_account_file путь | Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран. |
state string | Является ли данный объект должен существовать в GCP Выбор:
|
time_zone string | Указывает часовой пояс, используемый при интерпретации расписания. Значение этого поля должно быть именем часового пояса из базы данных tz. По умолчанию: |
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/scheduler/docs/reference/rest/
- Официальная документация: https://cloud.google.com/scheduler/
- для аутентификации можно установить service_account_file с использованием переменной среды
GCP_SERVICE_ACCOUNT_FILE. - для аутентификации можно установить service_account_contents с использованием переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - для аутентификации можно установить service_account_email с использованием переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - для аутентификации можно установить access_token с использованием переменной среды
GCP_ACCESS_TOKEN. - для аутентификации можно установить auth_kind с использованием переменной среды
GCP_AUTH_KIND. - для аутентификации можно установить scopes с использованием переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playbook не установлены.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a job
google.cloud.gcp_cloudscheduler_job:
name: job
region: us-central1
schedule: "*/4 * * * *"
description: test app engine job
time_zone: Europe/London
attempt_deadline: 320s
app_engine_http_target:
http_method: POST
app_engine_routing:
service: web
version: prod
instance: my-instance-001
relative_uri: "/ping"
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
appEngineHttpTarget сложный | Целевой ресурс App Engine HTTP. Если задание предоставляет целевой ресурс App Engine HTTP, задача cron отправит запрос на экземпляр службы. Возвращается: успешно |
|
appEngineRouting сложный |
Настройки маршрутизации App Engine для задачи. Возвращается: успешно |
|
instance строка |
Экземпляр приложения. По умолчанию задача отправляется на доступный экземпляр при попытке выполнения задачи. Возвращается: успешно |
|
service строка |
Служба приложения. По умолчанию задача отправляется на службу по умолчанию при попытке выполнения задачи. Возвращается: успешно |
|
version строка |
Версия приложения. По умолчанию задача отправляется на версию по умолчанию при попытке выполнения задачи. Возвращается: успешно |
|
body строка |
Тело HTTP-запроса. Тело запроса разрешено только в случае, если метод HTTP равен POST или PUT. В противном случае возникнет ошибка «некорректный аргумент». Строка, закодированная в base64. Возвращается: успешно |
|
headers словарь |
Заголовки HTTP-запроса. Этот массив содержит имена и значения полей заголовков. Заголовки могут быть заданы при создании задачи. Возвращается: успешно |
|
httpMethod строка |
Используемый метод HTTP для запроса. Возвращается: успешно |
|
relativeUri строка |
Относительный URI. Возвращается: успешно |
attemptDeadline строка | Срок выполнения попытки задачи. Если обработчик запроса не отвечает к этому сроку, запрос отменяется, а попытка помечается как ошибка DEADLINE_EXCEEDED. Неудачная попытка может быть просмотрена в журналах выполнения. Cloud Scheduler повторно выполнит задачу в соответствии с параметрами RetryConfig. Допустимая продолжительность для данного срока: * Для HTTP-целей — от 15 секунд до 30 минут. * Для HTTP-целей App Engine — от 15 секунд до 24 часов. * **Примечание**: Для целей PubSub это поле игнорируется — его установка приведет к неразрешимой разнице. Продолжительность в секундах с максимальной точностью до девяти десятичных знаков, завершаемая символом 's'. Пример: «3,5s» . Возвращается: успешно |
description строка | Описание задачи для пользователя. Эта строка не должна содержать более 500 символов. Возвращается: успешно |
httpTarget сложный | HTTP-цель. Если задача предоставляет HTTP-цель, cron отправит запрос на указанный URL. Возвращается: успешно |
|
body строка |
Тело HTTP-запроса. Тело запроса разрешено только в случае, если метод HTTP равен POST, PUT или PATCH. Ошибка при установке тела для задачи с несовместимым методом HttpMethod. Строка, закодированная в base64. Возвращается: успешно |
|
headers словарь |
Этот массив содержит имена и значения полей заголовков. Повторные заголовки не поддерживаются, но значение заголовка может содержать запятые. Возвращается: успешно |
|
httpMethod строка |
Используемый метод HTTP для запроса. Возвращается: успешно |
|
oauthToken сложный |
Содержит информацию, необходимую для генерации маркера OAuth. Этот тип авторизации следует использовать при отправке запросов на конечную точку GCP. Возвращается: успешно |
|
scope строка |
Диапазон OAuth, используемый для генерации маркера доступа OAuth. Если не указано, используется «https://www.googleapis.com/auth/cloud-platform”. Возвращается: успешно |
|
serviceAccountEmail строка |
Электронная почта учетной записи службы, используемая для генерации маркера OAuth. Учетная запись службы должна находиться в том же проекте, что и задача. Возвращается: успешно |
|
oidcToken complex |
Содержит информацию, необходимую для генерации токена OpenID Connect. Этот тип авторизации следует использовать при отправке запросов на сторонние конечные точки или Cloud Run. Возвращено: success |
|
audience string |
Аудитория, используемая при генерации токена OIDC. Если не указано, используется URI, указанный в параметре target. Возвращено: success |
|
serviceAccountEmail string |
Электронный адрес учетной записи службы, используемый для генерации токена OAuth. Учетная запись службы должна находиться в том же проекте, что и задача. Возвращено: success |
|
uri string |
Полный URI-путь, к которому будет отправлен запрос. Возвращено: success |
name string | Имя задачи. Возвращено: success |
pubsubTarget complex | Целевое назначение Pub/Sub. Если задача использует целевое назначение Pub/Sub, задача cron опубликует сообщение в указанную тему. Возвращено: success |
|
attributes dictionary |
Атрибуты для PubsubMessage. Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут. Возвращено: success |
|
data string |
Загрузка сообщения для PubsubMessage. Сообщение Pubsub должно содержать либо непустые данные, либо хотя бы один атрибут. Строка, закодированная в base64. Возвращено: success |
|
topicName string |
Полное имя ресурса для темы Cloud Pub/Sub, в которую будут публиковаться сообщения при доставке задачи. ~>**ПРИМЕЧАНИЕ:** Имя темы должно иметь тот же формат, что и для имени PublishRequest.name в PubSub, например, `projects/my-project/topics/my-topic`. Возвращено: success |
region string | Регион, в котором находится задача планировщика. Возвращено: success |
retryConfig complex | По умолчанию, если задача не завершается успешно, то есть не получено подтверждение от обработчика, она будет повторно выполняться с экспоненциальным отложенным запуском в соответствии с настройками. Возвращено: success |
|
maxBackoffDuration string |
Максимальное время ожидания перед повторной попыткой выполнения задачи после ее сбоя. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся на «s». Возвращено: success |
|
maxDoublings integer |
Время между повторами будет удваиваться maxDoublings раз. Интервал повтора задачи начинается с minBackoffDuration, затем удваивается maxDoublings раз, затем увеличивается линейно и, наконец, повторяется через интервалы maxBackoffDuration до retryCount раз. Возвращено: success |
|
maxRetryDuration string |
Предельное время для повторной попытки выполнения сбоящей задачи, отсчитываемое с момента первой попытки выполнения. При указании retryCount задача будет повторяться до тех пор, пока не будут достигнуты оба лимита. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся на «s». Возвращено: success |
|
minBackoffDuration string |
Минимальное время ожидания перед повторной попыткой выполнения задачи после ее сбоя. Длительность в секундах с до девятью десятичными знаками, заканчивающаяся на «s». Возвращено: success |
|
retryCount integer |
Количество попыток, которые система предпримет для запуска задачи с помощью процедуры экспоненциального отложенного запуска, описанной в maxDoublings. Значения больше 5 и отрицательные значения не допускаются. Возвращено: success |
schedule string | Описывает расписание, по которому задача будет выполняться. Возвращено: success |
timeZone string | Указывает часовой пояс, который используется для интерпретации расписания. Значение этого поля должно быть именем часового пояса из базы данных tz. Возвращено: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_cloudscheduler_job_module.html