здесь для планирования Задания потока данных с помощью Cloud Scheduler. Он использует Terraform для создания ресурса Cloud Scheduler, как вы можете видеть здесь:
http_target {
http_method = "POST"
uri = "https://dataflow.googleapis.com/v1b3/projects/${var.project_id}/locations/${var.region}/templates:launch?gcsPath=gs://${var.bucket}/templates/dataflow-demo-template"
...
}
Если вы не знакомы с Terraform, вы можете просто использовать gcloud SDK, чтобы сделать то же самое:
gcloud beta scheduler jobs create http job_name \
--schedule='every day' \
--uri="https://dataflow.googleapis.com/v1b3/projects/$PROJECT_ID/locations/$REGION/templates:launch?gcsPath=gs://$BUCKET_NAME/templates/dataflow-demo-template" \
--message-body-from-file="dataflow_message_body.json" \
--oauth-service-account-email=$DATAFLOW_SERVICE_ACCOUNT
dataflow_message_body.json
содержит json, похожий на:
{
"jobName": "dataflow_job_name",
"parameters": {
"inputFilePattern": "gs://$BUCKET_NAME/dataflow/input.txt",
"outputDirectory": "gs://$BUCKET_NAME/dataflow/output.txt.gz",
"outputFailureFile": "gs://$BUCKET_NAME/dataflow/failure",
"compression": "GZIP"
},
"gcsPath": "gs://dataflow-templates/latest/Bulk_Compress_GCS_Files"
}
И если вы хотите сделать это в консоли, просто перейдите в свой проект и затем создайте новый Cloud Scheduler с такими же полями, как описано выше.
Если вы хотите узнать, как выглядят шаблоны, предоставленные Google, вы можете посмотреть здесь. Если вы хотите узнать, как создавать собственные шаблоны и какой формат они должны иметь, взгляните на здесь. При запуске задания Dataflow вы всегда ссылаетесь на местоположение в сегменте, будь то сегмент gs://dataflow-templates
, предоставленный Google, или ваш собственный сегмент.
person
Nebulastic
schedule
10.12.2020