class_docstr: Uniquely identifies a node across all pipelines being actively orchestrated.
  
  Attributes:
    pipeline_uid: The pipeline UID.
    node_id: Node id. Corresponds to `PipelineNode.node_info.id` in the pipeline
      IR.
code: def from_node(
      cls: Type["NodeUid"],
      pipeline: pipeline_pb2.Pipeline,
      node: node_proto_view.NodeProtoView,
  ) -> "NodeUid":
      return cls(
          pipeline_uid=PipelineUid.from_pipeline(pipeline),
          node_id=node.node_info.id,
      )
  
imports: import abc
  import enum
  from typing import Dict, Hashable, List, Optional, Sequence, Type, TypeVar
  import attr
  from tfx import types
  from tfx.orchestration import node_proto_view
  from tfx.orchestration.experimental.core import env
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import status
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling the NodeUid obj's underlying member method code with example usage: obj.from_node(cls, pipeline, node) and returns: cls