code: def get_split_uris(
      artifact_list: List[_Artifact], split: str
  ) -> List[str]:
      """Get the uris of Artifacts with matching split from given list.
  
      Args:
        artifact_list: A list of Artifact objects.
        split: Name of split.
  
      Returns:
        A list of uris of Artifact object in artifact_list with matching split.
  
      Raises:
        ValueError: If number of artifacts matching the split is not equal to
          number of input artifacts.
      """
      result = []
      for artifact in artifact_list:
          split_names = decode_split_names(artifact.split_names)
          if split in split_names:
              # TODO(b/182526033): deprecate old split format.
              if is_artifact_version_older_than(
                  artifact, _ARTIFACT_VERSION_FOR_SPLIT_UPDATE
              ):
                  result.append(os.path.join(artifact.uri, split))
              else:
                  result.append(
                      os.path.join(artifact.uri, f"Split-{split}")
                  )
      if len(result) != len(artifact_list):
          raise ValueError(
              f"Split does not exist over all example artifacts: {split}"
          )
      return result
  
file_path: tfx/tfx/types/standard_artifact_utils.py
imports: import json
  import os
  import re
  from typing import List
  from absl import logging
  from packaging import version
  from tfx.types import artifact
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 2 for calling a global function with example usage: get_split_uris(artifact_list, split) and returns: result