Amazon S3 Utilities

Overview

The Amazon S3 Utilities Plug-in leverages the Amazon AWS Java API to connect with Amazon S3 to store and retrieve files.  

Key Features & Functionality

The following smart services are included:

  • Upload documents to AWS S3
  • Download documents from AWS S3
  • Create Folders in AWS S3
  • Delete documents from AWS S3

The plug-in also includes a function:

  • getPreSignedURLForS3 that generates a V4 pre signed url that expires after 5s. This allows for a short term access grant to a secured resource. It can be used in a WebAPI object to redirect a user from Appian to a resource on S3.

Amazon S3 Utilities supports the following Amazon S3 features:

 

Note:  The plug-in requires Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files when using client side encryption.

(https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)

 

The Appian Secure Credential Store is leveraged for the credentials to integrate with Amazon S3. Before executing the plug-in, create an new secure credential store with the following 3 attributes.  These values are obtained from Amazon AWS IAM console.

  • accesskeyid: this is the access key id for connecting to AWS S3
  • accesskeysecret: this is the access key secret for connecting to AWS S3
  • kmscmkid: this attribute is only required if using AWS Client Side Encryption
Anonymous
Parents Comment Children
  • Yeah it is causing an issue. The document cannot be downloaded since the site cannot be reached. This is what I see on the browser:

    __________________

    This site can’t be reached

    Check if there is a typo in s3.{bucket-name}.amazonaws.com.

    DNS_PROBE_FINISHED_NXDOMAIN
    _____________________
    I tried substituting  the domain name format to the format that  is there in console. But it returns another error, complaining about  a parameter in the URL generated by the plugin is not in the proper format. Below is what I see. It seems like the service is expecting X-Amz-Credential parameter  to contain  the region name, but the plugin is attaching the bucket-name to  the parameter.
    _______________________
    <Error>
    <Code>AuthorizationQueryParametersError</Code>
    <Message>Error parsing the X-Amz-Credential parameter; the region {bucket-name} is wrong; expecting 'us-east-1'</Message>
    <Region>us-east-1</Region>
    <RequestId>PGFXG4JR599R0HHP</RequestId>
    <HostId>OBy+93cPl8DsTSD1zKFZq2d1SoPaSewobbDKJDH82K7xy4Zpw+WhLta3W1MvbguaLslf14XPq0BNVB2j9ApICA==</HostId>
    </Error>
    _____________________