Тип планировщика облака Google Deployment Manager
Я вижу, что нет никакого типа графика, предоставленного GCP. Я хотел бы знать шаги для создания шаблона, составного типа или аналогичного, чтобы обеспечить тип Cloud Scheduler. Я знаю, что Google уже предоставляет пример об этом.
Если это возможно сделать с помощью кода. Он может использовать клиентскую библиотеку Python, хотя в документации сказано, что эта библиотека недоступна, я мог бы вставить ее в код.
Я не могу придумать способ аутентификации на основе API Google для выполнения таких запросов.
Короче говоря, у меня вопрос: как настроить тип менеджера развертывания для облака? Я знаю, это немного расплывчато. Просто хочу знать, будет ли это выполнимо.
С другой стороны, где я могу найти официальную разработку для этого сервиса GCP?
Для полноты вот также связанная проблема Github
1 ответ
Тип Cloud Scheduler пока не поддерживается в соответствии с документацией GCP.
Мне не известны какие-либо официальные разработки для этой службы GCP, кроме той, которую я связал выше. При этом я создам запрос функции для вашего варианта использования. Пожалуйста, добавьте любые дополнительные, которые я пропустил, и вы можете использовать тот же поток для связи с командой администратора развертывания.
Я искал эту функцию и подумал, что должен дать актуальный ответ по этой теме.
Спасибо dany L за запрос функции, который привел меня к этому ответу.
Похоже, что эта функция действительно предоставляется, просто документация еще не обновлена, чтобы отразить ее.
Вот отрывок из https://issuetracker.google.com/issues/123013878:
- type: gcp-types/cloudscheduler-v1:projects.locations.jobs
name: <YOUR_JOB_NAME_HERE>
properties:
parent: projects/<YOUR_PROJECT_ID_HERE>/locations/<YOUR_REGION_HERE>
name: <YOUR_JOB_NAME_HERE>
description: <YOUR_JOB_DESCRIPTION_HERE>
schedule: "0 2 * * *" # daily at 2 am
timeZone: "Europe/Amsterdam"
pubsubTarget:
topicName: projects/<YOUR_PROJECT_ID_HERE>/topics/<YOUR_EXPECTED_TOPIC_HERE>
data: aGVsbG8hCg== # base64 encoded "hello!"
Вы можете использовать общие
YAML
файл с
deployment-manager
:
config.yaml
:
resources:
- name: <<YOUR_JOB_NAME>>
type: gcp-types/cloudscheduler-v1:projects.locations.jobs # Cloud scheduler
properties:
parent: "projects/<<YOUR_PROJECT_NAME>>/locations/<<YOUR_LOCATION_ID>>"
description: "<<JOB_DESCRIPTION_OPTIONAL>>"
schedule: "* */2 * * *" # accepts 'cron' format
http_target:
http_method: "GET"
uri: "<<URI_TO_YOUR_FUNCTION>>" # trigger link in cloud functions
Вы даже можете добавить, чтобы создать
Pub/Sub
работа и другие с
deployment-manager
просто добавь:
- name: <<TOPIC_NAME>>
type: pubsub.v1.topic
properties:
topic: <<TOPIC_NAME>>
- name: <<NAME>>
type: pubsub.v1.subscription
properties:
subscription: <<SUBSCRIPTION_NAME>>
topic: $(ref.<<TOPIC_NAME>>.name)
ackDeadlineSeconds: 600
ПРИМЕЧАНИЕ: чтобы получить <gcloud app describe
.
Для развертывания используйте:gcloud deployment-manager deployments create <<DEPLOYMENT_NAME>> --config=<<PATH_TO_YOUR_YAML_FILE>>
Для удаления используйте:gcloud deployment-manager deployments delete <<DEPLOYMENT_NAME>> -q
Для большего
properties
на
Cloud Scheduler
прочтите документацию: https://cloud.google.com/scheduler/docs/reference/rpc/google.cloud.scheduler.v1#google.cloud.scheduler.v1.HttpTarget