class_docstr: TFX ImportSchemaGen executor.
class_docstr_tok: ["TFX","ImportSchemaGen","executor","."]
docstr: ImportSchemaGen executor entrypoint.
  
  This generate Schema artifact with given schema_file.
  
  Args:
    input_dict: Should be empty.
    output_dict: Output dict from key to a list of artifacts, including:
      - schema: A list of 'Schema' artifact of size one.
    exec_properties: A dict of execution properties, includes:
      - schema_file: Source schema file path.
  
  Returns:
    None
docstr_tok: ["ImportSchemaGen","executor","entrypoint",".","This","generate","Schema","artifact","with","given","schema_file",".","Args",":","input_dict",":","Should","be","empty",".","output_dict",":","Output","dict","from","key","to","a","list","of","artifacts",",","including",":","-","schema",":","A","list","of","'Schema","'","artifact","of","size","one",".","exec_properties",":","A","dict","of","execution","properties",",","includes",":","-","schema_file",":","Source","schema","file","path",".","Returns",":","None"]
code: def Do(
      self,
      input_dict: Dict[str, List[types.Artifact]],
      output_dict: Dict[str, List[types.Artifact]],
      exec_properties: Dict[str, Any],
  ) -> None:
      """ImportSchemaGen executor entrypoint.
  
      This generate Schema artifact with given schema_file.
  
      Args:
        input_dict: Should be empty.
        output_dict: Output dict from key to a list of artifacts, including:
          - schema: A list of 'Schema' artifact of size one.
        exec_properties: A dict of execution properties, includes:
          - schema_file: Source schema file path.
  
      Returns:
        None
      """
      source_file_path = exec_properties.get(
          standard_component_specs.SCHEMA_FILE_KEY
      )
      if not source_file_path:
          raise ValueError(
              "Schema file path is missing in exec_properties."
          )
      output_uri = os.path.join(
          artifact_utils.get_single_uri(
              output_dict[standard_component_specs.SCHEMA_KEY]
          ),
          schema_gen_executor.DEFAULT_FILE_NAME,
      )
  
      # Check whether the input file has a proper schema proto.
      _ = io_utils.SchemaReader().read(source_file_path)
  
      io_utils.copy_file(source_file_path, output_uri)
      logging.info(
          "Copied a schema file from %s to %s.",
          source_file_path,
          output_uri,
      )
  
file_path: tfx/tfx/components/schema_gen/import_schema_gen/executor.py
imports: import os
  from typing import Any, Dict, List
  from absl import logging
  from tfx import types
  from tfx.components.schema_gen import executor
  from tfx.dsl.components.base import base_executor
  from tfx.types import artifact_utils
  from tfx.types import standard_component_specs
  from tfx.utils import io_utils
label_desc: Use image node_id 1 for calling the Executor obj's underlying member method code with example usage: obj.Do(input_dict, output_dict, exec_properties) without return types