#google-cloud-dataflow #google-cloud-scheduler
#google-облако-поток данных #google-cloud-scheduler
Вопрос:
Я пытаюсь выполнить пользовательский шаблон потока данных через Google Cloud Scheduler, но когда я выполняю задание, я получаю UNAUTHENTICATED
исключение.
Как мне предоставить Google Cloud Scheduler доступ к использованию Google API потока данных?
Вот URL-адрес и текст публикации, которые я использую:
https://dataflow.googleapis.com/v1b3/projects/<<PROJECT>>/templates:launch?gcsPath=gs://<<GCS_BUCKET>>/template
{
"jobName": "job-name-scheduled",
"parameters": {
"param1" : "parmval1"
"environment": {
"tempLocation": "gs://<<BUCKET>>/temp",
"region": "us-east1"
}
}
Комментарии:
1. На этой странице все объясняется. Надеюсь, это поможет: cloud.google.com/dataflow/docs/guides/templates /…
Ответ №1:
В документации Cloud Scheduler указано, что «Целевые конечные точки HTTP должны быть общедоступными».
Обычно для создания такого рода задания потока данных необходимо отправить что-то вроде этого:
curl -X POST
'https://dataflow.googleapis.com/v1b3/projects/<project>/templates:launch?gcsPath=gs://dataflow-templates/latest/Word_Count'
-H 'Authorization: Bearer '$(gcloud auth application-default print-access-token)
-H 'Content-Type: application/json'
--data '{
"jobName": "scheduled_job",
"parameters": {
"inputFile" : "gs://dataflow-samples/shakespeare/kinglear.txt",
"output": "gs://<bucket>/output/my_output"
},
"environment": { "zone": "us-central1-f" }
}'
Но вы не можете отправить токен авторизации через Cloud Scheduler.
Вместо этого вы можете увидеть этот ответ для планирования заданий потока данных.