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

使用dbx 0.7.4部署作业时报TypeError: submit_run()不支持permissions参数

问题原因及解决方法

错误原因

你执行dbx launch <my-workflow> --from-assets时,触发的是Databricks Jobs API的submit_run接口,这个接口不支持permissions参数。但你的配置里把permissions放在了basic-settings中,通过YAML合并传递给了单次运行的请求,导致接口报错。

permissions是针对**持久化工作流(定期作业)**的配置项,仅在创建/部署持久化工作流时生效,不适用于临时的单次运行。

解决方案

方案1:拆分权限配置(适配持久化工作流+单次运行)

将permissions从basic-settings中移出,放到workflow的顶层配置里,这样仅在部署持久化工作流时生效,不影响单次运行:

custom:
  basic-cluster-props: &basic-cluster-props
    spark_version: "10.4.x-scala2.12"
    node_type_id: "Standard_D3_v2"

  basic-settings: &basic-settings
    libraries:
      - pypi:
          package: "pyyaml"

  basic-static-cluster: &basic-static-cluster
    new_cluster:
      <<: *basic-cluster-props
      num_workers: 1
    <<: *basic-settings

environments:
  default:
    strict_path_adjustment_policy: true
    workflows:
      - name: "current-integration-test"
        <<:
          - *basic-static-cluster
        # 权限配置移至workflow顶层,仅部署持久化工作流时生效
        permissions:
          access_control_list:
            - user_name: "userid" 
              permission_level: "IS_OWNER"
            - group_name: "admins"
              permission_level: "CAN_MANAGE"
            - group_name: "rolename"
              permission_level: "CAN_MANAGE"
        spark_python_task:
          python_file: "file://tests/integration/cp/silver/test_myjob_job.py"
          parameters: ["--conf-file", "file:fuse://conf/int/cp.yml","--cov=dlite"]

方案2:移除权限配置(仅用于单次测试运行)

如果只是临时运行测试,不需要设置工作流权限,直接删除basic-settings中的permissions段即可:

custom:
  basic-cluster-props: &basic-cluster-props
    spark_version: "10.4.x-scala2.12"
    node_type_id: "Standard_D3_v2"

  basic-settings: &basic-settings
    libraries:
      - pypi:
          package: "pyyaml"

  basic-static-cluster: &basic-static-cluster
    new_cluster:
      <<: *basic-cluster-props
      num_workers: 1
    <<: *basic-settings

environments:
  default:
    strict_path_adjustment_policy: true
    workflows:
      - name: "current-integration-test"
        <<:
          - *basic-static-cluster
        spark_python_task:
          python_file: "file://tests/integration/cp/silver/test_myjob_job.py"
          parameters: ["--conf-file", "file:fuse://conf/int/cp.yml","--cov=dlite"]

补充说明

  • dbx deploy <my-workflow> --assets-only + dbx launch --from-assets 是用于临时运行代码的模式,不会在Databricks上创建持久化的工作流,因此权限配置在此场景下无效。
  • 如果需要创建带权限的持久化工作流,使用常规的dbx deploy <my-workflow>(不带--assets-only)即可,此时权限配置会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:41:12