我看到GCP没有提供时间表类型。我想知道创建模板(复合类型或类似类型)以提供Cloud Scheduler类型的步骤。我知道Google已经提供了an example的相关信息。
如果可以通过代码进行操作,则可以使用python client library,尽管它在文档中说该库不可用,我可以将其内联到代码中。
我想不出一种方法来针对Google API进行身份验证以进行此类请求。
简而言之,我的问题是如何使Cloud的Deployment Manager类型成为可能?我知道这有点含糊。只想知道它是否可行。
另一方面,我在哪里可以找到此产品的官方开发 GCP服务?
为完整起见,这也是相关的Github issue
答案 0 :(得分:1)
根据GCP's documentation,尚不支持Cloud Scheduler类型。
除我上面链接的内容外,我不知道此GCP服务的任何正式开发。话虽如此,我将为您的用例创建一个feature request。请添加我错过的所有其他内容,您可以使用同一线程与Deployment Manager团队进行通信。
答案 1 :(得分:1)
我一直在寻找此功能,并认为我应该就该主题提供最新的答案。
感谢https://stackoverflow.com/users/9253778/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!"
答案 2 :(得分:1)
您可以将常规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
注意:要获取<< YOUR_LOCATION_ID >>,请使用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