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

Dataproc工作流模板实例化报错:MergeFrom参数类型不匹配

解决Dataproc Workflow Template实例化时的TypeError问题

问题原因

你遇到的TypeError: Parameter to MergeFrom() must be instance of same class: expected google.cloud.dataproc.v1.WorkflowTemplate got str,是因为代码里把字典类型的workflow_json通过'{0}'.format(workflow_json)转换成了字符串,而instantiate_inline_workflow_template方法的template参数要求传入**google.cloud.dataproc.v1.WorkflowTemplate对象或者对应的Python字典**,不是字符串类型。

修复代码

直接传入原始的workflow_json字典即可,不需要做字符串格式化:

# create workflow client
workflow_client = dataproc.WorkflowTemplateServiceClient()
parent = 'projects/{0}/regions/{1}'.format(project_id, region)

# submit request
operation = workflow_client.instantiate_inline_workflow_template(
    request={'parent': parent, 'template': workflow_json}
)

额外验证点

  • 确保workflow_json确实是通过json.loads()(从JSON字符串解析)或者直接构造的Python字典,而非原始的JSON字符串。如果是从Cloud Storage读取的JSON文件内容,需要先解析成字典:
    import json
    # 假设从GCS读取的是json_str字符串
    workflow_json = json.loads(json_str)
    
  • 确认workflow_json的结构完全符合WorkflowTemplate的定义,字段和嵌套结构要匹配Dataproc API的要求。

内容的提问来源于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 14:03:16