В соответствии с источником подключения , machineType
является единственным допустимым ключом для шаблонных заданий. Указанные вами переменные затем используются для создания запроса к REST API, например:
# RuntimeEnvironment
environment = {}
for key in ['maxWorkers', 'zone', 'serviceAccountEmail', 'tempLocation',
'bypassTempDirValidation', 'machineType', 'network', 'subnetwork']:
if key in variables:
environment.update({key: variables[key]})
# LaunchTemplateParameters
body = {"jobName": name,
"parameters": parameters,
"environment": environment}
# projects.locations.template.launch
service = self.get_conn()
request = service.projects().locations().templates().launch(
projectId=variables['project'],
location=variables['region'],
gcsPath=dataflow_template,
body=body
)
В документации для projects.locations.template.launch
указано, что тело запроса должно быть экземпляром LaunchTemplateParameters
, который имеет еще один RuntimeEnvironment
. Это выглядит точным из источника крючка.
Некоторые шаги по отладке, которые вы могли бы предпринять: вы можете войти / проверить исходящий вызов REST или найти вызов в журнале Stackdriver (и, следовательно, метаданные, связанные с запросом на создание задания).
Примечание: это доступно только с [AIRFLOW-1954] , который был частью выпуска Airflow v1.10.0. Это означает, что он присутствует только в определенных версиях Cloud Composer.