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
(Swift 3,4,5...) 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.
func chilkatTest() { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. let rest = CkoRest()! // Connect to the Amazon AWS REST server. var bTls: Bool = true var port: Int = 443 var bAutoReconnect: Bool = true var success: Bool = rest.connect("s3.amazonaws.com", port: port, tls: bTls, autoReconnect: 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. let authAws = CkoAuthAws()! authAws.accessKey = "AWS_ACCESS_KEY" authAws.secretKey = "AWS_SECRET_KEY" authAws.serviceName = "s3" success = rest.setAuthAws(authAws) // The bucket name is "chilkat100" let sbResponse = CkoStringBuilder()! success = rest.fullRequestNoBodySb("GET", uriPath: "/chilkat100", sb: sbResponse) if success != true { print("\(rest.lastErrorText!)") return } var statusCode: Int = rest.responseStatusCode.intValue print("Response status code = \(statusCode)") let xml = CkoXml()! xml.loadSb(sbResponse, autoTrim: true) print("\(xml.getXml()!)") if statusCode != 200 { print("Failed. See error information in the XML.") return } // Use this online tool to generate code from sample XML: // Generate Code to Create XML var Key: String? var LastModified: String? var ETag: String? var SizeDecimalStr: String? var ID: String? var DisplayName: String? var StorageClass: String? var Name: String? = xml.getChildContent("Name") var MaxKeys: Int = xml.getChildIntValue("MaxKeys").intValue var IsTruncated: String? = xml.getChildContent("IsTruncated") var i: Int = 0 var count_i: Int = xml.numChildrenHavingTag("Contents").intValue while i < count_i { xml.i = 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 } print("Success.") } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.