【问题标题】:Adding additional parameters to a solid function向实体函数添加附加参数
【发布时间】:2021-11-01 10:16:33
【问题描述】:

我想在调用实体时添加其他参数,该实体继承自另一个实体,如下所示:

from dagster import pipeline, repository, schedule, solid, InputDefinition, solid

@solid
def hello():
    return 1


@solid(
    input_defs=[
        InputDefinition("name", str),
        InputDefinition("age", int),
    ]
)
def hello2(hello_: int, name: str, age: int):
    print(f"Hello {name}, {age+hello_}")


@pipeline
def pipe_2():
    x = hello()
    y = hello2(x, "Marcus", 20)


@repository
def deploy_docker_repository():
    return [pipe_2, my_schedule]

但是从 dagster API grpc 运行管道时,我收到以下错误:

dagster.core.errors.DagsterInvalidDefinitionError: In @pipeline pipe_2, received invalid
type <class 'str'> for input "name" (at position 1) in solid invocation "hello2".
Must pass the output from 
previous solid invocations or inputs to the composition 
function as inputs when invoking solids during composition.

如何解决?

【问题讨论】:

    标签: python dagster


    【解决方案1】:

    "Marcus"20 需要都是其他实体的输出,例如

    @solid
    def name():
        return "Marcus"
    
    @solid
    def age():
        return 20
    
    @pipeline
    def pipe2():
        hello2(hello(), name(), age())
    

    否则您可以将它们作为配置传递,即 config_schemahello2 而不是输入。

    【讨论】:

    • 感谢您的回答!你能给我一个如何使用 config_schema 的例子吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多