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 to Bucket in a RegionDemonstrates how to upload a file to an S3 bucket that was created in a particular region.
Use ChilkatAx-win32.pkg Procedure Test Handle hoRest Boolean iBTls Integer iPort Boolean iBAutoReconnect Boolean iSuccess Variant vAuthAws Handle hoAuthAws Variant vFileData Handle hoFileData Variant vResponseBody Handle hoResponseBody Integer iStatusCode String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // When usig the REST class to access an S3 bucket that has been created in a particular region, // there are three important things to remember: // // 1) Connect to the domain that includes the region. For example, instead of connecting to // "s3.amazonaws.com", connect to "s3.eu-central-1.amazonaws.com" if your bucket is in the EU Frankfurt region. // See http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region for a list of S3 region domains (endpoints) // // 2) Set the AuthAws.Region property equal to the region, such as "eu-central-1". // // 3) Include the region in request's Host header. // // This example will upload to a bucket in the eu-central-1 region. // Get Create (RefClass(cComChilkatRest)) To hoRest If (Not(IsComObjectCreated(hoRest))) Begin Send CreateComObject of hoRest End // Connect to the Amazon AWS REST server. Move True To iBTls Move 443 To iPort Move True To iBAutoReconnect Get ComConnect Of hoRest "s3.eu-central-1.amazonaws.com" iPort iBTls iBAutoReconnect To iSuccess // Provide AWS credentials for the REST call. Get Create (RefClass(cComChilkatAuthAws)) To hoAuthAws If (Not(IsComObjectCreated(hoAuthAws))) Begin Send CreateComObject of hoAuthAws End Set ComAccessKey Of hoAuthAws To "AWS_ACCESS_KEY" Set ComSecretKey Of hoAuthAws To "AWS_SECRET_KEY" Set ComServiceName Of hoAuthAws To "s3" Set ComRegion Of hoAuthAws To "eu-central-1" Get pvComObject of hoAuthAws to vAuthAws Get ComSetAuthAws Of hoRest vAuthAws To iSuccess // Set the bucket name via the HOST header. // In this case, the bucket name is "chilkateufrankfurt" (which was created in the eu-central-1 region) Set ComHost Of hoRest To "chilkateufrankfurt.s3.eu-central-1.amazonaws.com" Get Create (RefClass(cComChilkatBinData)) To hoFileData If (Not(IsComObjectCreated(hoFileData))) Begin Send CreateComObject of hoFileData End Get ComLoadFile Of hoFileData "qa_data/jpg/penguins.jpg" To iSuccess // Upload the file to Amazon S3. Get Create (RefClass(cComChilkatStringBuilder)) To hoResponseBody If (Not(IsComObjectCreated(hoResponseBody))) Begin Send CreateComObject of hoResponseBody End Get pvComObject of hoFileData to vFileData Get pvComObject of hoResponseBody to vResponseBody Get ComFullRequestBd Of hoRest "PUT" "/penguins.jpg" vFileData vResponseBody To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // Did we get a 200 response indicating success? Get ComResponseStatusCode Of hoRest To iStatusCode If (iStatusCode <> 200) Begin Get ComGetAsString Of hoResponseBody To sTemp1 Showln "Error response: " sTemp1 Get ComResponseStatusText Of hoRest To sTemp1 Showln "Status code: " iStatusCode ", Status text: " sTemp1 Procedure_Return End Showln "File successfully uploaded." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.