dagster 你可以通过 api 触发作业运行吗?

问题描述 投票:0回答:1

我一直在寻找答案,但似乎找不到我要找的东西

我想创建一个 api 端点,可以将信息传递到 dagster 资产并触发运行。例如,我在 dagster 中有以下资产

@asset
def player_already_registered(player_name: str):
    q = text(
            f'''
                SELECT 
                    COUNT(*)
                FROM
                    `player_account_info`
                WHERE
                    summonerName = :player_name
            '''
        )

    result = database.conn.execute(q, player_name=player_name).fetchone()[0]
    return bool(result)

假设我已经创建了一个端点,可以通过 get 参数传递

player_name
。如何将参数传递给资产,然后运行作业本身?

python python-3.x rest pipeline dagster
1个回答
2
投票
  1. 使用提供的实例对象(docs)。 您可以使用链接中所示的 python 对象“实例”来基本上访问所有内容,您也可以从 dagit 访问这些内容。 (我没有过度使用它,但也许链接可以帮助你。

  2. 使用 Dagster GraphQL API(文档)。 尚未完成任何操作,所以我只能向您指出链接

  3. 使用分区(docs)。 您可以使用分区来触发为每个分区执行作业。我经常使用它,因为它可以让您真正控制哪些资产是通过哪些分区(参数)实现的。该链接指向动态分区的示例,该示例由传感器发现,然后传感器为每个分区执行作业,并跟踪 dagit 中的分区。

© www.soinside.com 2019 - 2024. All rights reserved.