code: def _create_execution_invocation_proto(
      pipeline: pipeline_pb2.Pipeline,
      task: task_lib.ExecNodeTask,
      node: pipeline_pb2.PipelineNode,
  ) -> execution_invocation_pb2.ExecutionInvocation:
      """Creates an ExecutionInvocation proto with some initial info."""
  
      return execution_invocation_pb2.ExecutionInvocation(
          execution_properties=(
              data_types_utils.build_metadata_value_dict(
                  task.exec_properties
              )
          ),
          execution_properties_with_schema=(
              data_types_utils.build_pipeline_value_dict(
                  task.exec_properties
              )
          ),
          output_metadata_uri=task.executor_output_uri,
          input_dict=data_types_utils.build_artifact_struct_dict(
              task.input_artifacts
          ),
          output_dict=data_types_utils.build_artifact_struct_dict(
              task.output_artifacts
          ),
          stateful_working_dir=task.stateful_working_dir,
          tmp_dir=task.tmp_dir,
          pipeline_info=pipeline.pipeline_info,
          pipeline_node=node,
          execution_id=task.execution_id,
          pipeline_run_id=pipeline.runtime_spec.pipeline_run_id.field_value.string_value,
      )
  
file_path: tfx/tfx/orchestration/experimental/centralized_kubernetes_orchestrator/kubernetes_task_scheduler.py
imports: import threading
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration.experimental.centralized_kubernetes_orchestrator import kubernetes_job_runner
  from tfx.orchestration.experimental.core import task
  from tfx.orchestration.experimental.core import task_scheduler
  from tfx.orchestration.portable import data_types
  from tfx.proto.orchestration import executable_spec_pb2
  from tfx.proto.orchestration import execution_invocation_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import status
label_desc: Use image node_id 1 for calling a global function with example usage: _create_execution_invocation_proto(pipeline, task, node) and returns: execution_invocation_pb2