Monday 7 December 2020

How to use dictionary yielded from other solid in a composite Solid?

For example I have a solid named initiate_load , it is yielding a dictionary and an integer , something like :

@solid(
    output_defs=[
        OutputDefinition(name='l_dict', is_required=False),
        OutputDefinition(name='l_int', is_required=False)
    ],
)
def initiate_load(context):
    .... 
    ....

    yield Output(l_dict, output_name='l_dict')
    yield Output(l_int, output_name='l_int')

I have a composite_solid also ,let's say call_other_solid_composite

and I am passing l_dict and l_int to this composite_solid and I am using the l_dict to get the values mapped to its keys. Something like.

@composite_solid
def call_other_solid_composite(p_dict,p_int):
    l_val1 = p_dict['val1']
    ...
    ...

Then I am getting a Error as :TypeError: 'InputMappingNode' object is not subscriptable. I searched everywhere but can't find a solution . The documentation is also of no help . I have use case that I need to parse those values . Any help will be appreciated.



from How to use dictionary yielded from other solid in a composite Solid?

No comments:

Post a Comment