Base class for ResolverStrategy.
ResolverStrategy is used with
to express the input resolution logic. Currently TFX supports the following
A resolver strategy defines a type behavior used for input selection. A
resolver strategy subclass must override the
which takes a Dict[str, List[Artifact]] as parameters and returns the resolved
dict of the same type.
as_resolver_op( input_node: resolver_op.OpNode, **kwargs )
ResolverOp-like usage inside resolver_function.
resolve_artifacts( store: mlmd.MetadataStore, input_dict: Dict[str, List[types.Artifact]] ) -> Optional[Dict[str, List[types.Artifact]]]
Resolves artifacts from channels, optionally querying MLMD if needed.
In asynchronous execution mode, resolver classes may composed in sequence where the resolve_artifacts() result from the previous resolver instance would be passed to the next resolver instance's resolve_artifacts() inputs.
If resolve_artifacts() returns None, it is considered as "no inputs available", and the remaining resolvers will not be executed.
Also if resolve_artifacts() omits any key from the input_dict it will not be available from the downstream resolver instances. General recommendation is to preserve all keys in the input_dict unless you have specific reason.
||An MLMD MetadataStore.|
||The input_dict to resolve from.|
|If all entries has enough data after the resolving, returns the resolved input_dict. Otherise, return None.|