Тип Noneable для поля в конфигурации solid, не допускающий нулевых значений - PullRequest
0 голосов
/ 18 июня 2020

Я бы хотел, чтобы Dagster принимал пустые параметры в config.yaml и рассматривал их как имеющие значение None.

Когда я запускаю da git, я вижу, что параметр равен нулю. Это имеет смысл, потому что я оставил значение параметра пустым в config.yaml. Dagit shows the parameter as null

Однако, когда я запускаю конвейер, я получаю следующую ошибку: The error shows it is expecting a string type

Я не уверен, почему это ожидая значения класса str, когда я указал тип Noneable (str) в конфигурации solid. Как ни странно, когда я передаю ненулевое значение для example_parameter в da git, конвейер работает отлично.

Ниже приведена конфигурация, которую я использовал для solid

@solid(
    description="Example solid",
    config={
        "example_parameter": Field(
                 Noneable(str),
                 is_required=False
        )
    }
)
def example_solid(context):
"""an example solid"""
   etc...

Как я могу заставить dagster принимать нулевые значения и анализировать их как None?

1 Ответ

0 голосов
/ 19 июня 2020

Я пытался воспроизвести, но конвейер успешно работал с фрагментом кода, которым вы поделились, и следующей конфигурацией. Какую версию dagster вы используете / не могли бы вы попробовать обновить до последней версии (0.8.3)?

@solid(
    description="Example solid",
    config={
        "example_parameter": Field(
                 Noneable(str),
                 is_required=False
        )
    }
)
def example_solid(context):
    context.log.info(str(context.solid_config['example_parameter']))
    pass

@pipeline
def example_pipeline():
    example_solid()

с конфигурацией

solids:
  example_solid:
    config:
      example_parameter: null
...