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
(Go) S3 List Bucket Objects (Bucket-in-Path)Demonstrates how to fetch a list of objects in an S3 bucket, but using the bucket-in-path request format instead of putting the bucket name in the HOST header.
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rest := chilkat.NewRest() // Connect to the Amazon AWS REST server. bTls := true port := 443 bAutoReconnect := true success := rest.Connect("s3.amazonaws.com",port,bTls,bAutoReconnect) // ---------------------------------------------------------------------------- // Important: For buckets created in regions outside us-east-1, // there are three important changes that need to be made. // See Working with S3 Buckets in Non-us-east-1 Regions for the details. // ---------------------------------------------------------------------------- // Provide AWS credentials for the REST call. authAws := chilkat.NewAuthAws() authAws.SetAccessKey("AWS_ACCESS_KEY") authAws.SetSecretKey("AWS_SECRET_KEY") authAws.SetServiceName("s3") success = rest.SetAuthAws(authAws) // The bucket name is "chilkat100" sbResponse := chilkat.NewStringBuilder() success = rest.FullRequestNoBodySb("GET","/chilkat100",sbResponse) if success != true { fmt.Println(rest.LastErrorText()) rest.DisposeRest() authAws.DisposeAuthAws() sbResponse.DisposeStringBuilder() return } statusCode := rest.ResponseStatusCode() fmt.Println("Response status code = ", statusCode) xml := chilkat.NewXml() xml.LoadSb(sbResponse,true) fmt.Println(*xml.GetXml()) if statusCode != 200 { fmt.Println("Failed. See error information in the XML.") rest.DisposeRest() authAws.DisposeAuthAws() sbResponse.DisposeStringBuilder() xml.DisposeXml() return } // Use this online tool to generate code from sample XML: // Generate Code to Create XML var Key *string = new(string) var LastModified *string = new(string) var ETag *string = new(string) var SizeDecimalStr *string = new(string) var ID *string = new(string) var DisplayName *string = new(string) var StorageClass *string = new(string) Name := xml.GetChildContent("Name") MaxKeys := xml.GetChildIntValue("MaxKeys") IsTruncated := xml.GetChildContent("IsTruncated") i := 0 count_i := xml.NumChildrenHavingTag("Contents") for i < count_i { xml.SetI(i) Key = xml.GetChildContent("Contents[i]|Key") LastModified = xml.GetChildContent("Contents[i]|LastModified") ETag = xml.GetChildContent("Contents[i]|ETag") SizeDecimalStr = xml.GetChildContent("Contents[i]|Size") ID = xml.GetChildContent("Contents[i]|Owner|ID") DisplayName = xml.GetChildContent("Contents[i]|Owner|DisplayName") StorageClass = xml.GetChildContent("Contents[i]|StorageClass") i = i + 1 } fmt.Println("Success.") rest.DisposeRest() authAws.DisposeAuthAws() sbResponse.DisposeStringBuilder() xml.DisposeXml() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.