You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Dataproc Workflow遇ValueError:OrderedJob无template字段求助

问题描述

我正在编写Google Cloud Function,用于调用存储在云存储中YAML文件定义的Dataproc Workflow。测试调用时函数立即崩溃,抛出如下堆栈跟踪:

Traceback (most recent call last):
File "/layers/google.python.pip/pip/lib/python3.10/site-packages/proto/message.py", line 570, in init
pb_value = marshal.to_proto(pb_type, value)
File "/layers/google.python.pip/pip/lib/python3.10/site-packages/proto/marshal/marshal.py", line 217, in to_proto
pb_value = rule.to_proto(value)
File "/layers/google.python.pip/pip/lib/python3.10/site-packages/proto/marshal/rules/message.py", line 36, in to_proto
return self._descriptor(**value)
ValueError: Protocol message OrderedJob has no "template" field.

查阅OrderedJob文档后发现,该结构体并无名为'template'的字段(无论必填或可选)。谷歌搜索该错误无结果,由于我是首次使用工作流,不知从何入手,恳请提供解决建议。

解决建议
  • 检查云存储中的YAML工作流定义文件,确认是否在OrderedJob节点下误用了template字段。Dataproc Workflow的OrderedJob支持的字段是如hadoop_job、spark_job、pig_job这类具体任务类型,或者step_id、prerequisite_step_ids等控制字段,不存在template字段。
  • 检查Cloud Function代码中构建OrderedJob对象的逻辑,是否在代码里手动添加了template键值对到参数中,导致构造Proto消息时触发错误。
  • 确认使用的Dataproc客户端库版本是否与当前Dataproc API兼容。部分旧版本库可能存在字段映射问题,尝试升级到最新稳定版的google-cloud-dataproc库。
  • 如果是通过YAML导入工作流模板,确认是否混淆了工作流模板(Workflow Template) 和OrderedJob的语法。工作流模板本身可以有模板引用,但单个OrderedJob不能直接用template字段。

内容的提问来源于stack exchange,提问作者Cam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:37:19