class_docstr: Class for handling FeatureProcessor S3 Artifact Lineage
class_docstr_tok: ["Class","for","handling","FeatureProcessor","S3","Artifact","Lineage"]
docstr: Load FeatureProcessor S3 Lineage Artifacts.
  
  Arguments:
      s3_uri (str): The s3 uri of the Artifact.
      sagemaker_session (Session): Session object which manages interactions
          with Amazon SageMaker APIs and any other AWS services needed. If not specified, the
          function creates one using the default AWS configuration chain.
  
  Returns:
      ArtifactSummary: The Artifact Summary for the provided S3 URI.
docstr_tok: ["Load","FeatureProcessor","S3","Lineage","Artifacts",".","Arguments",":","s3_uri","(","str",")",":","The","s3","uri","of","the","Artifact",".","sagemaker_session","(","Session",")",":","Session","object","which","manages","interactions","with","Amazon","SageMaker","APIs","and","any","other","AWS","services","needed",".","If","not","specified",",","the","function","creates","one","using","the","default","AWS","configuration","chain",".","Returns",":","ArtifactSummary",":","The","Artifact","Summary","for","the","provided","S3","URI","."]
code: def _load_artifact_from_s3_uri(
      s3_uri: str, sagemaker_session: Session
  ) -> Optional[ArtifactSummary]:
      """Load FeatureProcessor S3 Lineage Artifacts.
  
      Arguments:
          s3_uri (str): The s3 uri of the Artifact.
          sagemaker_session (Session): Session object which manages interactions
              with Amazon SageMaker APIs and any other AWS services needed. If not specified, the
              function creates one using the default AWS configuration chain.
  
      Returns:
          ArtifactSummary: The Artifact Summary for the provided S3 URI.
      """
      artifacts = Artifact.list(
          source_uri=s3_uri, sagemaker_session=sagemaker_session
      )
      for artifact_summary in artifacts:
          # We want to make sure that source_type is empty.
          # Since SDK will not set it while creating artifacts.
          if (
              artifact_summary.source.source_types is None
              or len(artifact_summary.source.source_types) == 0
          ):
              return artifact_summary
      return None
  
imports: from __future__ import absolute_import
  import logging
  from typing import Union, Optional, List
  from sagemaker import Session
  from sagemaker.feature_store.feature_processor import CSVDataSource, ParquetDataSource, BaseDataSource
  from sagemaker.feature_store.feature_processor.lineage._feature_processor_lineage_name_helper import _get_feature_processor_schedule_lineage_artifact_name, _get_feature_processor_trigger_lineage_artifact_name
  from sagemaker.feature_store.feature_processor.lineage._pipeline_schedule import PipelineSchedule
  from sagemaker.feature_store.feature_processor.lineage._pipeline_trigger import PipelineTrigger
  from sagemaker.feature_store.feature_processor.lineage._transformation_code import TransformationCode
  from sagemaker.feature_store.feature_processor.lineage.constants import TRANSFORMATION_CODE_STATUS_ACTIVE, FEP_LINEAGE_PREFIX, TRANSFORMATION_CODE_ARTIFACT_NAME
  from sagemaker.lineage.artifact import Artifact, ArtifactSummary
label_desc: Use image node_id 7 for calling the S3LineageEntityHandler obj's underlying member method code with example usage: obj._load_artifact_from_s3_uri(s3_uri, sagemaker_session) and returns: None, artifact_summary