簡體   English   中英

Cloud Scheduler - Terrafrom - 如何在 CloudSheduler 主體中傳遞當前日期

[英]Cloud Scheduler - Terrafrom - How to pass current date in CloudSheduler body

我正在使用 cloudScheduler 來安排數據流作業。 我需要使用 cloudsheduler 主體將運行日期/運行時/當前日期動態傳遞給數據流作業。 我正在使用數據流作業代碼中的 Java 選項讀取正文參數。

尋找在 cloudschduler 主體中讀取 header X-CloudScheduler-ScheduleTime的語法

body = base64encode(<<-EOT { "jobName": "${each.value.name}_${http_target.h}", "parameters": { "bigtableInstanceId": "${var.cloudscheduler_bigtable_instanceid}", " bigtableProjectId": "${var.project_id}", "bigtableTableId": "${each.value.bigtableTableId}", "inputFilePattern": "${each.value.inputFilePattern}", "runningdate":???? ???
“區域”:“${var.cloudscheduler_region}”,},“環境”:{“numWorkers”:“2”,“tempLocation”:“gs://gcslocation/temp2”,“區域”:“${var .cloudscheduler_region}-a" } } EOT ) }

如何在正文“runningdate”中傳遞預定日期/運行日期:?????????? 我們在數據流作業代碼中讀到的 cloudscheduler。

(簡單方法)嘗試使用Cloud Functions而不是Cloud Scheduler

Cloud Scheduler 應該像 unix cron 作業一樣工作,以安排和運行作業。

Cloud Functions 主要用於需要解析 arguments 並做出動態決策的用例,例如我是否應該運行 Dataflow 作業或任何類似的作業。

如果您有使用Cloud Scheduler的要求/此類用例,那么您可以做的是

  • 使用Cloud Functions記錄您的 arguments 並存儲在通常可訪問的位置,例如 DB 或 Bucket
  • 之后使用Cloud Scheduler執行所需的步驟。

如果我誤解了您的問題,請詳細說明並提供更多示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM