From 9e463beefde612f39a9637441b9756e9ec2154ae Mon Sep 17 00:00:00 2001 From: Willian Hubner Date: Tue, 3 May 2022 14:17:04 -0400 Subject: [PATCH] =?UTF-8?q?Implementa=C3=A7=C3=A3o=20do=20BucketRegion.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Na função "StorageService.UploadObject" o último parâmetro vem por padrão vazio, porém, em alguns casos a região do bucket deve ser informada. --- src/AWS4D.Interfaces.pas | 4 +++- src/AWS4D.S3.Credencial.pas | 14 ++++++++++++++ src/AWS4D.S3.Get.pas | 2 +- src/AWS4D.S3.Send.pas | 3 ++- src/AWS4D.S3.pas | 2 +- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/AWS4D.Interfaces.pas b/src/AWS4D.Interfaces.pas index 6c6d193..0d510c6 100644 --- a/src/AWS4D.Interfaces.pas +++ b/src/AWS4D.Interfaces.pas @@ -4,7 +4,7 @@ interface uses System.Classes, - Jpeg, + Vcl.Imaging.Jpeg, {$IFDEF HAS_FMX} FMX.Objects; {$ELSE} @@ -42,9 +42,11 @@ interface function AccountName( aValue : String ) : iAWS4DCredential; overload; function StorageEndPoint( aValue : String ) : iAWS4DCredential; overload; function Bucket ( aValue : String ) : iAWS4DCredential; overload; + function BucketRegion ( aValue : String) : iAWS4DCredential; overload; function AccountKey : String; overload; function AccountName : String; overload; function StorageEndPoint : String; overload; + function BucketRegion : String; overload; function Bucket : String; overload; function &End : iAWS4D; end; diff --git a/src/AWS4D.S3.Credencial.pas b/src/AWS4D.S3.Credencial.pas index c55ff0b..ed0c4cf 100644 --- a/src/AWS4D.S3.Credencial.pas +++ b/src/AWS4D.S3.Credencial.pas @@ -15,6 +15,7 @@ TAWS4DCredential = class(TInterfacedObject, iAWS4DCredential) FAccountName : String; FStorageEndPoint : String; FBucket : String; + FBucketRegion : String; public constructor Create (aParent : iAWS4D); destructor Destroy; override; @@ -23,10 +24,12 @@ TAWS4DCredential = class(TInterfacedObject, iAWS4DCredential) function AccountName( aValue : String ) : iAWS4DCredential; overload; function StorageEndPoint( aValue : String ) : iAWS4DCredential; overload; function Bucket ( aValue : String ) : iAWS4DCredential; overload; + function BucketRegion ( aValue : String) : iAWS4DCredential; overload; function AccountKey : String; overload; function AccountName : String; overload; function StorageEndPoint : String; overload; function Bucket : String; overload; + function BucketRegion : String; overload; function &End : iAWS4D; end; @@ -101,4 +104,15 @@ function TAWS4DCredential.Bucket: String; Result := FBucket; end; +function TAWS4DCredential.BucketRegion: String; +begin + Result := FBucketRegion; +end; + +function TAWS4DCredential.BucketRegion(aValue: String): iAWS4DCredential; +begin + Result := Self; + FBucketRegion := aValue; +end; + end. diff --git a/src/AWS4D.S3.Get.pas b/src/AWS4D.S3.Get.pas index 2d9be54..1f27996 100644 --- a/src/AWS4D.S3.Get.pas +++ b/src/AWS4D.S3.Get.pas @@ -29,7 +29,7 @@ implementation Data.Cloud.AmazonAPI, Data.Cloud.CloudAPI, System.SysUtils, - Jpeg; + Vcl.Imaging.Jpeg; { TBind4DAmazonS3Get } diff --git a/src/AWS4D.S3.Send.pas b/src/AWS4D.S3.Send.pas index 3d99f81..5bd8fc1 100644 --- a/src/AWS4D.S3.Send.pas +++ b/src/AWS4D.S3.Send.pas @@ -117,7 +117,8 @@ function TAWS4DS3SendFile.Send: iAWS4DS3; nil, Header, amzbaPublicReadWrite, - CloudResponse + CloudResponse, + FParent.&End.Credential.BucketRegion ) then FParent.Content('https://' + FParent.&End.Credential.Bucket + '.' + FParent.&End.Credential.StorageEndPoint + '/' + FFileName); finally diff --git a/src/AWS4D.S3.pas b/src/AWS4D.S3.pas index 4380ebb..a7a03d5 100644 --- a/src/AWS4D.S3.pas +++ b/src/AWS4D.S3.pas @@ -3,7 +3,7 @@ interface uses System.Classes, AWS4D.Interfaces, - Jpeg, + Vcl.Imaging.Jpeg, {$IFDEF HAS_FMX} FMX.Objects; {$ELSE}