Sample code for 30+ languages & platforms
B4X

S3 List Buckets (using Chilkat REST)

See more Amazon S3 (new) Examples

Demonstrates how to fetch a list of S3 buckets.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim rest As ChilkatRest
rest.Initialize("rest")

'  Connect to the Amazon AWS REST server.
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("s3.amazonaws.com", port, bTls, 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.
Dim authAws As ChilkatAuthAws
authAws.Initialize
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
authAws.ServiceName = "s3"
success = rest.SetAuthAws(authAws)

Dim sbResponse As ChilkatStringBuilder
sbResponse.Initialize
success = rest.FullRequestNoBodySb("GET", "/", sbResponse)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If



Dim statusCode As Int = rest.ResponseStatusCode
Log("Response status code = " & statusCode)

Dim xml As ChilkatXml
xml.Initialize
xml.LoadSb(sbResponse, True)
Log(xml.GetXml)

If statusCode <> 200 Then
    Log("Failed.  See error information in the XML.")
    Return
End If


'  Use this online tool to generate code from sample XML: 
'  Generate Code to Create XML

Dim Name As String
Dim CreationDate As String

Dim i As Int = 0
Dim count_i As Int = xml.NumChildrenHavingTag("Buckets|Bucket")
Do While i < count_i
    xml.I = i
    Name = xml.GetChildContent("Buckets|Bucket[i]|Name")
    CreationDate = xml.GetChildContent("Buckets|Bucket[i]|CreationDate")
    Log(Name)
    Log(CreationDate)
    Log("--")
    i = i + 1
Loop