Sample code for 30+ languages & platforms
PowerBuilder

Wasabi List Buckets

See more Wasabi Examples

Demonstrates how to list Wasabi buckets.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
string ls_BucketsXml
oleobject loo_Xml
string ls_Name
string ls_CreationDate
string ls_ListAllMyBucketsResult_xmlns
string ls_ID
string ls_DisplayName
integer i
integer li_Count_i

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Insert your access key here:
loo_Http.AwsAccessKey = "access-key"

// Insert your secret key here:
loo_Http.AwsSecretKey = "secret-key"

loo_Http.AwsEndpoint = "s3.wasabisys.com"

ls_BucketsXml = loo_Http.S3_ListBuckets()

if loo_Http.LastMethodSuccess <> 1 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    return
end if

loo_Xml = create oleobject
li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml")

loo_Xml.LoadXml(ls_BucketsXml)
Write-Debug loo_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>

ls_ListAllMyBucketsResult_xmlns = loo_Xml.GetAttrValue("xmlns")
ls_ID = loo_Xml.GetChildContent("Owner|ID")
ls_DisplayName = loo_Xml.GetChildContent("Owner|DisplayName")
i = 0
li_Count_i = loo_Xml.NumChildrenHavingTag("Buckets|Bucket")
do while i < li_Count_i
    loo_Xml.I = i
    ls_Name = loo_Xml.GetChildContent("Buckets|Bucket[i]|Name")
    ls_CreationDate = loo_Xml.GetChildContent("Buckets|Bucket[i]|CreationDate")
    i = i + 1
loop


destroy loo_Http
destroy loo_Xml