Sample code for 30+ languages & platforms
DataFlex

Wasabi List Buckets

See more Wasabi Examples

Demonstrates how to list Wasabi buckets.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sBucketsXml
    Handle hoXml
    String sName
    String sCreationDate
    String sListAllMyBucketsResult_xmlns
    String sID
    String sDisplayName
    Integer i
    Integer iCount_i
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Insert your access key here:
    Set ComAwsAccessKey Of hoHttp To "access-key"

    // Insert your secret key here:
    Set ComAwsSecretKey Of hoHttp To "secret-key"

    Set ComAwsEndpoint Of hoHttp To "s3.wasabisys.com"

    Get ComS3_ListBuckets Of hoHttp To sBucketsXml

    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatXml)) To hoXml
    If (Not(IsComObjectCreated(hoXml))) Begin
        Send CreateComObject of hoXml
    End
    Get ComLoadXml Of hoXml sBucketsXml To iSuccess
    Get ComGetXml Of hoXml To sTemp1
    Showln sTemp1

    // 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>

    Get ComGetAttrValue Of hoXml "xmlns" To sListAllMyBucketsResult_xmlns
    Get ComGetChildContent Of hoXml "Owner|ID" To sID
    Get ComGetChildContent Of hoXml "Owner|DisplayName" To sDisplayName
    Move 0 To i
    Get ComNumChildrenHavingTag Of hoXml "Buckets|Bucket" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoXml To i
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Name" To sName
        Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|CreationDate" To sCreationDate
        Move (i + 1) To i
    Loop



End_Procedure