Выполнение шаблона потока данных через Google Cloud Scheduler

Я пытаюсь выполнить собственный шаблон потока данных через Google Cloud Scheduler, но когда я выполняю задание, я получаю UNAUTHENTICATED исключение.

Как предоставить Google Cloud Scheduler доступ к API Google Dataflow?

Вот URL-адрес и тело POST, которое я использую:

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"
}

}


person craigtb    schedule 15.03.2019    source источник
comment
Эта страница все это объясняет. Надеюсь, это поможет: cloud.google.com/dataflow/docs/guides/ шаблоны /   -  person chaiyachaiya    schedule 14.05.2019


Ответы (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.

Для планирования заданий Dataflow вы можете просмотреть noreferrer

person Héctor Neri    schedule 15.03.2019