![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) S3 Upload with Transfer AccelerationDemonstrates how to upload from a pre-signed URL with transfer acceleration. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoHttp String sBucketName String sObjectName String sAwsService String sHttpVerb Integer iNumSecondsValid Boolean iBUseHttps String sPreSignedUrl Variant vResp Handle hoResp String sTemp1 Integer iTemp1 Boolean bTemp1 Move False To iSuccess // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Set ComAwsAccessKey Of hoHttp To "AWS_ACCESS_KEY" Set ComAwsSecretKey Of hoHttp To "AWS_SECRET_KEY" // Make sure to set your AWS region correctly Set ComAwsRegion Of hoHttp To "us-east-1" Move "chilkat200" To sBucketName Move "starfish/starfish.jpg" To sObjectName Move "s3" To sAwsService Move "PUT" To sHttpVerb // To use S3 acceleration, we simply set the AwsEndpoint to "s3-accelerate.amazonaws.com". // Note: You must enable transfer acceleration on your bucket. Acceleration incurs a higher cost. Set ComAwsEndpoint Of hoHttp To "s3-accelerate.amazonaws.com" // The signed URL will be valid for this number of seconds: Move 86400 To iNumSecondsValid // Choose between a URL beginning with "http://" or "https://"... Move False To iBUseHttps // Generate the pre-signed URL that will use s3-accelerate.amazonaws.com Get ComS3_GenPresignedUrl Of hoHttp sHttpVerb iBUseHttps sBucketName sObjectName iNumSecondsValid sAwsService To sPreSignedUrl Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // The following URL can be copy-and-pasted into a browser.. Showln "Presigned URL for Upload: " sPreSignedUrl // Here's an example of a pre-signed URL // // http://chilkat200.s3-accelerate.amazonaws.com/starfish/starfish.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIBJLOVZVXAU2AFUA%2F20200623%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200623T234049Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=xxxxxeaea071178d772856c0a4e4c0114a8d9992f0d0812955e490d0exxxxxxx // // Upload a local file using the pre-signed URL. // (Chilkat provides other methods to upload file data directly from binary or text data in memory.) Get Create (RefClass(cComChilkatHttpResponse)) To hoResp If (Not(IsComObjectCreated(hoResp))) Begin Send CreateComObject of hoResp End Get pvComObject of hoResp to vResp Get ComHttpFile Of hoHttp "PUT" sPreSignedUrl "qa_data/jpg/starfish.jpg" "image/jpg" vResp To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "response status code = " iTemp1 Get ComContentLength Of hoResp To iTemp1 Showln "response body size: " iTemp1 Get ComContentLength Of hoResp To iTemp1 If (iTemp1 > 0) Begin Showln "response body:" Get ComBodyStr Of hoResp To sTemp1 Showln sTemp1 End End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.