:doc:`Connect <../../connect>` / Client / get_attached_file

*****************
get_attached_file
*****************



.. py:method:: Connect.Client.get_attached_file(**kwargs)

  

  Provides a pre-signed URL for download of an approved attached file. This API also returns metadata about the attached file. It will only return a downloadURL if the status of the attached file is ``APPROVED``.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetAttachedFile>`_  


  **Request Syntax**
  ::

    response = client.get_attached_file(
        InstanceId='string',
        FileId='string',
        UrlExpiryInSeconds=123,
        AssociatedResourceArn='string'
    )
    
  :type InstanceId: string
  :param InstanceId: **[REQUIRED]** 

    The unique identifier of the Amazon Connect instance.

    

  
  :type FileId: string
  :param FileId: **[REQUIRED]** 

    The unique identifier of the attached file resource.

    

  
  :type UrlExpiryInSeconds: integer
  :param UrlExpiryInSeconds: 

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.

    

  
  :type AssociatedResourceArn: string
  :param AssociatedResourceArn: **[REQUIRED]** 

    The resource to which the attached file is (being) uploaded to. The supported resources are `Cases <https://docs.aws.amazon.com/connect/latest/adminguide/cases.html>`__ and `Email <https://docs.aws.amazon.com/connect/latest/adminguide/setup-email-channel.html>`__.

     

    .. note::

      

      This value must be a valid ARN.

      

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'FileArn': 'string',
          'FileId': 'string',
          'CreationTime': 'string',
          'FileStatus': 'APPROVED'|'REJECTED'|'PROCESSING'|'FAILED',
          'FileName': 'string',
          'FileSizeInBytes': 123,
          'AssociatedResourceArn': 'string',
          'FileUseCaseType': 'EMAIL_MESSAGE'|'ATTACHMENT',
          'CreatedBy': {
              'ConnectUserArn': 'string',
              'AWSIdentityArn': 'string'
          },
          'DownloadUrlMetadata': {
              'Url': 'string',
              'UrlExpiry': 'string'
          },
          'Tags': {
              'string': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* Response from GetAttachedFile API.
      

      - **FileArn** *(string) --* 

        The unique identifier of the attached file resource (ARN).

        
      

      - **FileId** *(string) --* 

        The unique identifier of the attached file resource.

        
      

      - **CreationTime** *(string) --* 

        The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: ``yyyy-MM-ddThh:mm:ss.SSSZ``. For example, ``2024-05-03T02:41:28.172Z``.

        
      

      - **FileStatus** *(string) --* 

        The current status of the attached file.

        
      

      - **FileName** *(string) --* 

        A case-sensitive name of the attached file being uploaded.

        
      

      - **FileSizeInBytes** *(integer) --* 

        The size of the attached file in bytes.

        
      

      - **AssociatedResourceArn** *(string) --* 

        The resource to which the attached file is (being) uploaded to. `Cases <https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateCase.html>`__ are the only current supported resource.

        
      

      - **FileUseCaseType** *(string) --* 

        The use case for the file.

        
      

      - **CreatedBy** *(dict) --* 

        Represents the identity that created the file.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``ConnectUserArn``, ``AWSIdentityArn``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

        - **ConnectUserArn** *(string) --* 

          An agent ARN representing a `connect user <https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-resources-for-iam-policies>`__.

          
        

        - **AWSIdentityArn** *(string) --* 

          STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ``ConnectUserArn`` is not provided.

          
    
      

      - **DownloadUrlMetadata** *(dict) --* 

        URL and expiry to be used when downloading the attached file.

        
        

        - **Url** *(string) --* 

          A pre-signed URL that should be used to download the attached file.

          
        

        - **UrlExpiry** *(string) --* 

          The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

          
    
      

      - **Tags** *(dict) --* 

        The tags used to organize, track, or control access for this resource. For example, ``{ "Tags": {"key1":"value1", "key2":"value2"} }``.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
  
  **Exceptions**
  
  *   :py:class:`Connect.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`Connect.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`Connect.Client.exceptions.InternalServiceException`

  
  *   :py:class:`Connect.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`Connect.Client.exceptions.ThrottlingException`

  