def setUp(self): super().setUp() self._text = 'text' self._input_value_placeholder = placeholders.InputValuePlaceholder( 'input_artifact') self._input_uri_placeholder = placeholders.InputUriPlaceholder('input_uri') self._output_uri_placeholder = placeholders.OutputUriPlaceholder( 'output_uri') self._concat_placeholder = placeholders.ConcatPlaceholder([ self._text, self._input_value_placeholder, self._input_uri_placeholder, self._output_uri_placeholder, ]) self._text_concat_placeholder = placeholders.ConcatPlaceholder( [self._text, 'text1', placeholders.ConcatPlaceholder(['text2']),])
class DummyProducerComponent(base_component.BaseComponent): """Dummy producer component.""" SPEC_CLASS = ProducerSpec EXECUTOR_SPEC = executor_specs.TemplatedExecutorContainerSpec( image='dummy/producer', command=[ 'producer', '--output1', placeholders.OutputUriPlaceholder('output1'), '--param1', placeholders.InputValuePlaceholder('param1'), '--wrapped-param', placeholders.ConcatPlaceholder([ 'prefix-', placeholders.InputValuePlaceholder('param1'), '-suffix', ]), ]) def __init__(self, param1, output1, instance_name=None): spec = ProducerSpec( output1=output1, param1=param1, ) super(DummyProducerComponent, self).__init__(spec=spec) if instance_name: self._id = '{}.{}'.format(self.__class__.__name__, instance_name) else: self._id = self.__class__.__name__
'output1': standard_artifacts.Model, }, parameters={ 'param1': str, }, image='dummy/producer', command=[ 'producer', '--output1', placeholders.OutputUriPlaceholder('output1'), '--param1', placeholders.InputValuePlaceholder('param1'), '--wrapped-param', placeholders.ConcatPlaceholder([ 'prefix-', placeholders.InputValuePlaceholder('param1'), '-suffix', ]), ], ) def pipeline_with_one_container_spec_component() -> tfx_pipeline.Pipeline: """Pipeline with container.""" importer_task = importer.Importer( source_uri='some-uri', artifact_type=standard_artifacts.Model, ).with_id('my_importer') container_task = DummyContainerSpecComponent(