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

在Dagster的GraphQL API调用ExecutePipeline时,$repositoryLocationName取值应为多少?

解决Dagster GraphQL API中repositoryLocationName参数的问题

你遇到的PipelineNotFoundError核心原因就是repositoryLocationName参数的值不正确——这个参数用来指定你的代码仓库所在的位置标识,填错了就会导致Dagster找不到对应的流水线。

如何获取正确的repositoryLocationName值

最准确的方式是通过GraphQL查询来获取所有已加载的仓库位置信息:

  1. 打开Dagit的GraphQL Playground(就是你用来执行mutation的那个页面)
  2. 执行以下查询语句:
query FetchRepositoryLocations {
  repositoryLocations {
    name
    repositories {
      name
      pipelines {
        name
      }
    }
  }
}
  1. 在返回的结果里,找到包含"name": "my_repo"的仓库项,它所属的外层name字段值就是你需要的repositoryLocationName。

验证参数一致性

拿到正确的位置名称后,还要确认这几个参数和查询结果完全匹配(Dagster对名称大小写敏感):

  • repositoryName:要和查询结果里仓库的name一致
  • pipelineName:要和该仓库下流水线的name一致
  • mode:确保你的流水线确实有dev这个模式(可以在查询结果里的流水线详情里确认,或者查看你的代码定义)

修正后的示例参数

假设查询到的repositoryLocationName是local_dev_location,你的参数应该类似这样:

{
  "repositoryName": "my_repo",
  "repositoryLocationName": "local_dev_location",
  "pipelineName": "my_pipeline",
  "mode": "dev",
  "runConfigData": {"your": "config", "here": "values"}
}

本地开发的常见情况

如果是用dagster dev或dagit直接启动本地代码,repositoryLocationName通常会是你的代码目录对应的标识,比如如果你的仓库是通过load_assets_from_modules这类方式加载的,查询结果里的名称可能是类似__main__或者你的Python模块名,但还是以实际查询结果为准。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:58:14