Sample code for 30+ languages & platforms
Dart

Wasabi List Buckets

See more Wasabi Examples

Demonstrates how to list Wasabi buckets.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

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

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

  http.awsEndpoint = 's3.wasabisys.com';

  final String bucketsXml;
  try {
    bucketsXml = http.s3ListBuckets();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final xml = CkXml();
  xml.loadXml(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 = '';
  var creationDate = '';

  final listAllMyBucketsResultXmlns = xml.getAttrValue('xmlns');
  final id = xml.getChildContent('Owner|ID');
  final displayName = xml.getChildContent('Owner|DisplayName');
  var i = 0;
  final countI = xml.numChildrenHavingTag('Buckets|Bucket');
  while (i < countI) {
    xml.i = i;
    name = xml.getChildContent('Buckets|Bucket[i]|Name');
    creationDate = xml.getChildContent('Buckets|Bucket[i]|CreationDate');
    i++;
  }
}