docstr: Downloads the requested S3 object and saves it into the given file handle.
  
  This method also returns the downloaded payload.
  
  Args:
      file_handle (File): A File-like object to save the downloaded contents
      region (str): AWS region
      bucket (str): AWS S3 bucket name
      key (str): AWS S3 key name
  
  Returns:
      str: The downloaded payload
  
  Raises:
      ClientError
docstr_tok: ["Downloads","the","requested","S3","object","and","saves","it","into","the","given","file","handle",".","This","method","also","returns","the","downloaded","payload",".","Args",":","file_handle","(","File",")",":","A","File-like","object","to","save","the","downloaded","contents","region","(","str",")",":","AWS","region","bucket","(","str",")",":","AWS","S3","bucket","name","key","(","str",")",":","AWS","S3","key","name","Returns",":","str",":","The","downloaded","payload","Raises",":","ClientError"]
code: def download_fileobj(file_handle, bucket, key, region):
      """Downloads the requested S3 object and saves it into the given file handle.
  
      This method also returns the downloaded payload.
  
      Args:
          file_handle (File): A File-like object to save the downloaded contents
          region (str): AWS region
          bucket (str): AWS S3 bucket name
          key (str): AWS S3 key name
  
      Returns:
          str: The downloaded payload
  
      Raises:
          ClientError
      """
      try:
          client = boto3.client(
              "s3", config=default_config(region=region)
          )
          client.download_fileobj(bucket, key, file_handle)
  
          file_handle.seek(0)
          return file_handle.read()
      except ClientError:
          LOGGER.error("An error occurred during S3 DownloadFileobj")
          raise
  
file_path: streamalert/streamalert/shared/helpers/aws_api_client.py
imports: import json
  import boto3
  from botocore.exceptions import ClientError
  from streamalert.shared.helpers.boto import default_config
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 4 for calling the AwsS3 obj's underlying member method code with example usage: obj.download_fileobj(file_handle, bucket, key, region) and returns: file_handle