在Dagster';中运行ExecutePline时,$repositoryLocationName的值是多少;什么是GraphQLAPI?

在Dagster';中运行ExecutePline时,$repositoryLocationName的值是多少;什么是GraphQLAPI?,graphql,dagster,Graphql,Dagster,我正在尝试使用GraphQLAPI启动Dagster管道运行。我有一个本地运行的Dagit和一个可以通过操场触发的工作管道 但是,我现在正试图通过GraphQL游乐场触发管道,该游乐场位于/GraphQL 我正在使用以下变异: mutation ExecutePipeline( $repositoryLocationName: String! $repositoryName: String! $pipelineName: String! $runConfigData: RunCo

我正在尝试使用GraphQLAPI启动Dagster管道运行。我有一个本地运行的Dagit和一个可以通过操场触发的工作管道

但是,我现在正试图通过GraphQL游乐场触发管道,该游乐场位于
/GraphQL

我正在使用以下变异:

mutation ExecutePipeline(
  $repositoryLocationName: String!
  $repositoryName: String!
  $pipelineName: String!
  $runConfigData: RunConfigData!
  $mode: String!
)
…因此,我提供以下查询参数:

{
  "repositoryName": "my_repo",
  "repositoryLocationName": <???>,
  "pipelineName": "my_pipeline",
  "mode": "dev",
  "runConfigData": {<MY_RUN_CONFIG>}
}

这是我下面的教程。

简短回答:

每个存储库位于一个存储库位置内。如果您自己没有提供默认存储库位置名称,Dagster将提供该名称。要查找位置名称,可以单击Dagit中的存储库选择器,它将位于存储库名称旁边:

在本例中,存储库名称为
toys\u repository
,位置名称为
dagster\u test.toys.repo

更长的回答:

工作区(使用
workspace.yaml
定义)是存储库位置的集合

目前有三种类型的存储库位置:

  • Python文件
  • Python模块
  • gRPC服务器
每个存储库位置可以有多个存储库。一旦定义了位置,Dagster就能够自动查找该位置中的所有存储库。在上面的示例中,我将我的工作区定义为具有单个Python模块存储库位置:

load_from:
  - python_module: dagster_test.toys.repo
load_from:
- python_file: repo.py
请注意,只是指定了一个模块,而没有指定存储库位置名称,因此Dagster分配了一个默认的存储库位置名称

如果要指定位置名称,我将执行以下操作:

load_from:
- python_module:
    module_name: dagster_test.toys.repo
    location_name: "my_custom_location_name"
类似地,对于python文件位置:

load_from:
  - python_module: dagster_test.toys.repo
load_from:
- python_file: repo.py
或使用自定义存储库位置名称:

load_from:
- python_file:
    relative_path: repo.py
    location_name: "my_custom_location_name"

您还可以使用GraphQL查询来查找。从示例开始,您只需要添加

repositoryOrigin {
      repositoryLocationName
    }
导致

query PaginatedPipelineRuns {
  pipelineRunsOrError {
  __typename
     ... on PipelineRuns {
           results {
             runId
             pipelineName
             status
             runConfigYaml
             repositoryOrigin {
                repositoryLocationName
             }
          stats {
            ... on PipelineRunStatsSnapshot {
              startTime
              endTime
              stepsFailed
            }
          }
        }
      }
    }
  }
这将返回返回的任何运行的存储库位置名称。在查询之前,在UI中触发您想要位置名称的管道,该运行将是您的第一个结果