Appian Community and Appian Academy are being upgraded. As a part of the upgrade, Appian Community is currently in read-only mode, and user registration is disabled until August 3. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
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:
The plug-in also includes a function:
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.
Hi there,
I am getting an error Error closing file stream.Endpoint does not contain a valid host name: null
I get the same error whether I specify the bucket name or the bucket arn.
For the file I am specifying an array with one element which is a full JSON filename (e.g. foobar.json).
Any help would be appreciated.
Regards
Rod
Just to clarify further...
When I use s3://somepath/foobar.json or https://somepath/foobar.json then I get variations of
Error closing file stream.The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey;
From https://stackoverflow.com/questions/28653249/amazon-s3-exception-the-specified-key-does-not-exist it seems people get this error when the file doesn't exist on the bucket. Am I specifying the file details incorrectly?
If I leave out the optional Region field I get Error closing file stream.Endpoint does not contain a valid host name: null
If I include the region to be eu-west-1 then I get the The specified key does not exist errors.
Any suggestions would be great.
regards
These are my logs:
2025-06-27 07:45:12,203 [Appian Work Item - 2885 - WorkID 930 - execution01 - process 268464249 - model 1545 : UnattendedJavaActivityRequest] ERROR com.appiancs.plugins.amazonS3Utils.ss.DownloadObjectsFromAmazonS3 - Error closing file stream com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: MSZ26TTCVREFYKY8; S3 Extended Request ID: 6c2JJ0h8QrPokOH+UKIfTSLBeOS99+zAHeCkn3OF4bwetQnZp8Kv1ZAHTmSJ5HieqqZRvZWLpKY=; Proxy: null), S3 Extended Request ID: 6c2JJ0h8QrPokOH+UKIfTSLBeOS99+zAHeCkn3OF4bwetQnZp8Kv1ZAHTmSJ5HieqqZRvZWLpKY= at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1879) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1418) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1387) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1157) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:814) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:781) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:755) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:715) at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:697) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:561) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:541) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5558) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5505) at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1555) at com.appiancs.plugins.amazonS3Utils.ss.S3Operations.downloadFromS3(S3Operations.java:122) at com.appiancs.plugins.amazonS3Utils.ss.DownloadObjectsFromAmazonS3.getInputStream(DownloadObjectsFromAmazonS3.java:140) at com.appiancs.plugins.amazonS3Utils.ss.DownloadObjectsFromAmazonS3.run(DownloadObjectsFromAmazonS3.java:87) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:129) at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:129) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:123) at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:30) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:123) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:110) at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:23) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:89) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:72) at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143) at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68) at com.appiancorp.process.engine.ActivityRequest.executeOuter(ActivityRequest.java:41) at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136) at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:125) at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36) at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110) at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840)