DataFlex
DataFlex
OSS List Buckets (Alibaba Cloud)
See more Alibaba Cloud OSS Examples
Demonstrates how to list AliCloud OSS buckets.The Chilkat S3 functions in the HTTP class are compatible with Alibaba Cloud's OSS service.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
String sBucketsXml
Handle hoXml
String sCreationDate
String sExtranetEndpoint
String sIntranetEndpoint
String sLocation
String sName
String sRegion
String sStorageClass
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 AccessKey ID here:
Set ComAwsAccessKey Of hoHttp To "access-key"
// Insert your AccessKey Secret here:
Set ComAwsSecretKey Of hoHttp To "secret-key"
// See Alibaba Object Storage Service Regions and Endpoints
Set ComAwsEndpoint Of hoHttp To "oss-us-west-1.aliyuncs.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>5035535379748121</ID>
// <DisplayName>5035535379748121</DisplayName>
// </Owner>
// <Buckets>
// <Bucket>
// <Comment/>
// <CreationDate>2021-10-28T21:30:56.000Z</CreationDate>
// <ExtranetEndpoint>oss-us-east-1.aliyuncs.com</ExtranetEndpoint>
// <IntranetEndpoint>oss-us-east-1-internal.aliyuncs.com</IntranetEndpoint>
// <Location>oss-us-east-1</Location>
// <Name>chilkat</Name>
// <Region>us-east-1</Region>
// <StorageClass>STANDARD</StorageClass>
// </Bucket>
// <Bucket>
// <Comment/>
// <CreationDate>2021-10-29T00:12:54.000Z</CreationDate>
// <ExtranetEndpoint>oss-us-west-1.aliyuncs.com</ExtranetEndpoint>
// <IntranetEndpoint>oss-us-west-1-internal.aliyuncs.com</IntranetEndpoint>
// <Location>oss-us-west-1</Location>
// <Name>chilkat-testbucket</Name>
// <Region>us-west-1</Region>
// <StorageClass>STANDARD</StorageClass>
// </Bucket>
// <Bucket>
// <Comment/>
// <CreationDate>2021-10-28T23:52:10.000Z</CreationDate>
// <ExtranetEndpoint>oss-us-west-1.aliyuncs.com</ExtranetEndpoint>
// <IntranetEndpoint>oss-us-west-1-internal.aliyuncs.com</IntranetEndpoint>
// <Location>oss-us-west-1</Location>
// <Name>chilkat2</Name>
// <Region>us-west-1</Region>
// <StorageClass>STANDARD</StorageClass>
// </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]|CreationDate" To sCreationDate
Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|ExtranetEndpoint" To sExtranetEndpoint
Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|IntranetEndpoint" To sIntranetEndpoint
Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Location" To sLocation
Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Name" To sName
Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|Region" To sRegion
Get ComGetChildContent Of hoXml "Buckets|Bucket[i]|StorageClass" To sStorageClass
Move (i + 1) To i
Loop
End_Procedure