Sample code for 30+ languages & platforms
Tcl

Wasabi List Buckets

See more Wasabi Examples

Demonstrates how to list Wasabi buckets.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set http [new_CkHttp]

# Insert your access key here:
CkHttp_put_AwsAccessKey $http "access-key"

# Insert your secret key here:
CkHttp_put_AwsSecretKey $http "secret-key"

CkHttp_put_AwsEndpoint $http "s3.wasabisys.com"

set bucketsXml [CkHttp_s3_ListBuckets $http]

if {[CkHttp_get_LastMethodSuccess $http] != 1} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    exit
}

set xml [new_CkXml]

CkXml_LoadXml $xml $bucketsXml
puts [CkXml_getXml $xml]

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

set ListAllMyBucketsResult_xmlns [CkXml_getAttrValue $xml "xmlns"]
set ID [CkXml_getChildContent $xml "Owner|ID"]
set DisplayName [CkXml_getChildContent $xml "Owner|DisplayName"]
set i 0
set count_i [CkXml_NumChildrenHavingTag $xml "Buckets|Bucket"]
while {$i < $count_i} {
    CkXml_put_I $xml $i
    set Name [CkXml_getChildContent $xml "Buckets|Bucket[i]|Name"]
    set CreationDate [CkXml_getChildContent $xml "Buckets|Bucket[i]|CreationDate"]
    set i [expr $i + 1]
}

delete_CkHttp $http
delete_CkXml $xml