31
Views
2
Comments
[Amazon Simple Storage Service (S3)] Issue on GetPreSignedUrl Method
Application Type
Reactive

Hello, I was receiving the following error when using the GetPreSignedUrl method: "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4."

I solved this problem by adding this code to the "internal static string GetPresignedUrl" method.

AWSConfigsS3.UseSignatureVersion4 = true;


https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAWSSDK.html#specify-signature-version

To avoid having a clone of this component, can please include this optional parameter in the method?


I'm happy to contribute!

UserImage.jpg
António Rodrigues
Staff

Hello João
Thanks for sharing the solution and for pointing this out!
We’ll prioritize this and plan to include the fix in an upcoming release.
Appreciate your willingness to contribute! 
Thank you

2024-05-20 09-45-12
Jean Bastos

Hi I'm also getting issues with GetPreSignedUrl... It was working fine but now I get this error...
Is it related?


MessageMethod not found: 'System.Threading.Tasks.Task`1 Amazon.Runtime.SharedInterfaces.ICoreAmazonS3.DoesS3BucketExistAsync(System.String)'.

Environment InformationeSpaceVer: Id=55172, PubId=0, CompiledWith=11.27.0.42539RequestUrl: https://.... /screenservices/BPMFileStorage_CW/ActionPreUploadFileUrl (Method: POST)AppDomain: /LM/W3SVC/1/ROOT/------------------------FilePath: D:\OutSystems\Platform Server\running\Pathway---------------\ClientIp: 10.12.207.14 X-Forwarded-For: --------------Locale: en-USDateFormat: dd/MM/yyyyPID: ---- ('w3wp', Started='8/1/2025 3:23:38 AM', Priv=1313Mb, Virt=2107926Mb)TID: 36Thread Name:.NET: 4.0.30319.42000

StackMethod not found: 'System.Threading.Tasks.Task`1 Amazon.Runtime.SharedInterfaces.ICoreAmazonS3.DoesS3BucketExistAsync(System.String)'.   at OutSystems.NssAmazonS3_ext.AmazonS3Connector.GetPresignedUrl(RCS3_AuthenticationinfoRecord ssAuthenticationInfo, Boolean useHttps, String bucketName, String key, Double expiresIn, String verb)   at OutSystems.NssAmazonS3_ext.CssAmazonS3_ext.MssS3_GetPreSignedUrl(RCS3_AuthenticationinfoRecord ssAuthenticationInfo, Boolean ssUseHttps, String ssBucketName, String ssKey, Decimal ssExpiresIn, String ssVerb, String& ssUrl)   at ssAmazonS3_IS.RssExtensionAmazonS3_ext.MssS3_GetPreSignedUrl(HeContext heContext, IRecord inParamAuthenticationInfo, Boolean inParamUseHttps, String inParamBucketName, String inParamKey, Decimal inParamExpiresIn, String inParamVerb, String& outParamUrl)

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.