class_docstr: Publish execution to metadata.
  
  Attributes:
    _metadata_handle: An instance of Metadata.
docstr: Publishes a component execution to metadata.
  
  This function will do two things:
  1. update the execution that was previously registered before execution to
     complete or skipped state, depending on whether cached results are used.
  2. for each input and output artifact, publish an event that associate the
     artifact to the execution, with type INPUT or OUTPUT respectively
  
  Args:
    component_info: the information of the component
    output_artifacts: optional key -> Artifacts to be published as outputs
      of the execution
    exec_properties: optional execution properties to be published for the
      execution
  
  Returns:
    A dict containing output artifacts.
code: def publish_execution(
      self,
      component_info: data_types.ComponentInfo,
      output_artifacts: Optional[
          Dict[str, List[types.Artifact]]
      ] = None,
      exec_properties: Optional[Dict[str, Any]] = None,
  ):
      """Publishes a component execution to metadata.
  
      This function will do two things:
      1. update the execution that was previously registered before execution to
         complete or skipped state, depending on whether cached results are used.
      2. for each input and output artifact, publish an event that associate the
         artifact to the execution, with type INPUT or OUTPUT respectively
  
      Args:
        component_info: the information of the component
        output_artifacts: optional key -> Artifacts to be published as outputs
          of the execution
        exec_properties: optional execution properties to be published for the
          execution
  
      Returns:
        A dict containing output artifacts.
      """
      outputs_utils.tag_output_artifacts_with_version(output_artifacts)
  
      logging.debug("Outputs: %s", output_artifacts)
      logging.debug("Execution properties: %s", exec_properties)
  
      self._metadata_handle.publish_execution(
          component_info=component_info,
          output_artifacts=output_artifacts,
          exec_properties=exec_properties,
      )
  
file_path: tfx/tfx/orchestration/publisher.py
imports: from typing import Any, Dict, List, Optional
  from absl import logging
  from tfx import types
  from tfx.orchestration import data_types
  from tfx.orchestration import metadata
  from tfx.orchestration.portable import outputs_utils
label_desc: Use image node_id 2 for calling the Publisher obj's underlying member method code with example usage: obj.publish_execution(component_info, output_artifacts, exec_properties) without return types