class_docstr: Get JSON properties from PropertyFiles or S3 location.
  
  Attributes:
      step_name (str): The step name from which to get the property file.
      property_file (Optional[Union[PropertyFile, str]]): Either a PropertyFile instance
          or the name of a property file.
      json_path (str): The JSON path expression to the requested value.
      s3_uri (Optional[sagemaker.workflow.functions.Join]): The S3 location from which to fetch
          a Json file. The Json file is the output of a step defined with ``@step`` decorator.
      step (Step): The upstream step object which the s3_uri is associated to.
class_docstr_tok: ["Get","JSON","properties","from","PropertyFiles","or","S3","location",".","Attributes",":","step_name","(","str",")",":","The","step","name","from","which","to","get","the","property","file",".","property_file","(","Optional","[","Union","[","PropertyFile",",","str","]","]",")",":","Either","a","PropertyFile","instance","or","the","name","of","a","property","file",".","json_path","(","str",")",":","The","JSON","path","expression","to","the","requested","value",".","s3_uri","(","Optional","[","sagemaker.workflow.functions.Join","]",")",":","The","S3","location","from","which","to","fetch","a","Json","file",".","The","Json","file","is","the","output","of","a","step","defined","with","``","@","step","``","decorator",".","step","(","Step",")",":","The","upstream","step","object","which","the","s3_uri","is","associated","to","."]
docstr: Validate mutually exclusive property file / s3uri
docstr_tok: ["Validate","mutually","exclusive","property","file","\/","s3uri"]
code: def _check_property_file_s3_uri(self, attribute, value):
      """Validate mutually exclusive property file / s3uri"""
      if self.property_file and self.s3_uri:
          raise ValueError(
              "Please specify either a property file or s3 uri as an input, but not both."
          )
      if not self.property_file and not self.s3_uri:
          raise ValueError(
              "Missing s3uri or property file as a required input to JsonGet."
              "Please specify either a property file or s3 uri as an input, but not both."
          )
      if self.s3_uri:
          self._validate_json_get_s3_uri()
  
file_path: sagemaker-python-sdk/src/sagemaker/workflow/functions.py
imports: from __future__ import absolute_import
  from typing import List, Union, Optional, TYPE_CHECKING
  import attr
  from sagemaker.workflow import is_pipeline_variable
  from sagemaker.workflow.entities import PipelineVariable
  from sagemaker.workflow.execution_variables import ExecutionVariable
  from sagemaker.workflow.parameters import Parameter
  from sagemaker.workflow.properties import PropertyFile
label_desc: Use image node_id 1 for calling the JsonGet obj's underlying member method code with example usage: obj._check_property_file_s3_uri(attribute, value) without return types