Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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 v9.5.0.83 or greater.
Use ChilkatAx-win32.pkg Procedure Test 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 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Note: This example requires Chilkat v9.5.0.83 or greater. 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 ComPFile Of hoHttp "PUT" sPreSignedUrl "qa_data/jpg/starfish.jpg" "image/jpg" False False To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = 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 Send Destroy of hoResp End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.