Sample code for 30+ languages & platforms
Swift

Wasabi List Buckets

See more Wasabi Examples

Demonstrates how to list Wasabi buckets.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let http = CkoHttp()!

    // Insert your access key here:
    http.awsAccessKey = "access-key"

    // Insert your secret key here:
    http.awsSecretKey = "secret-key"

    http.awsEndpoint = "s3.wasabisys.com"

    var bucketsXml: String? = http.s3_ListBuckets()

    if http.lastMethodSuccess != true {
        print("\(http.lastErrorText!)")
        return
    }

    let xml = CkoXml()!
    xml.load(xmlData: bucketsXml)
    print("\(xml.getXml()!)")

    // Use this online tool to generate parsing code from sample XML: 
    // Generate Parsing Code from XML

    // Sample output:

    // <?xml version="1.0" encoding="UTF-8"?>
    // <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    //     <Owner>
    //         <ID>1039F31570DBC320E89D391632FCA06FE6D10CBB2ADBD0BF6439BB1DA0C3FAD6</ID>
    //         <DisplayName>admin</DisplayName>
    //     </Owner>
    //     <Buckets>
    //         <Bucket>
    //             <Name>chilkat</Name>
    //             <CreationDate>2021-10-26T12:39:44.000Z</CreationDate>
    //         </Bucket>
    //         <Bucket>
    //             <Name>chilkat-wasabi-testbucket</Name>
    //             <CreationDate>2021-10-27T21:07:40.000Z</CreationDate>
    //         </Bucket>
    //     </Buckets>
    // </ListAllMyBucketsResult>

    var Name: String?
    var CreationDate: String?

    var ListAllMyBucketsResult_xmlns: String? = xml.getAttrValue(name: "xmlns")
    var ID: String? = xml.getChildContent(tagPath: "Owner|ID")
    var DisplayName: String? = xml.getChildContent(tagPath: "Owner|DisplayName")
    var i: Int = 0
    var count_i: Int = xml.numChildrenHavingTag(tag: "Buckets|Bucket").intValue
    while i < count_i {
        xml.i = i
        Name = xml.getChildContent(tagPath: "Buckets|Bucket[i]|Name")
        CreationDate = xml.getChildContent(tagPath: "Buckets|Bucket[i]|CreationDate")
        i = i + 1
    }


}