Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) OSS List Bucket Objects (Alibaba Cloud)See more Alibaba Cloud OSS ExamplesDemonstrates how to list the objects in a bucket. The Chilkat S3 functions in the HTTP class are compatible with Alibaba Cloud's OSS service.
IncludeFile "CkXml.pb" IncludeFile "CkHttp.pb" Procedure ChilkatExample() ; This example assumes the Chilkat HTTP API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Insert your AccessKey ID here: CkHttp::setCkAwsAccessKey(http, "access-key") ; Insert your AccessKey Secret here: CkHttp::setCkAwsSecretKey(http, "secret-key") ; To list objects in a bucket located in a different region, use the endpoint for that region, such as "oss-cn-hangzhou.aliyuncs.com " ; See Alibaba Object Storage Service Regions and Endpoints CkHttp::setCkAwsEndpoint(http, "oss-us-east-1.aliyuncs.com") bucketName.s = "chilkat" strXml.s = CkHttp::ckS3_ListBucketObjects(http,bucketName) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) ProcedureReturn EndIf Debug "Response status code = " + Str(CkHttp::ckLastStatus(http)) xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkXml::ckLoadXml(xml,strXml) If success <> 1 Debug CkXml::ckLastErrorText(xml) CkHttp::ckDispose(http) CkXml::ckDispose(xml) ProcedureReturn EndIf ; If the response status code was not 200, then the XML response is not a ; listing of objects, but instead contains error information. If CkHttp::ckLastStatus(http) <> 200 Debug CkXml::ckGetXml(xml) Debug "Failed." CkHttp::ckDispose(http) CkXml::ckDispose(xml) ProcedureReturn EndIf ; A sample response is shown below. Debug CkXml::ckGetXml(xml) Debug "----" ; Use this online tool to generate parsing code from sample XML: ; Generate Parsing Code from XML ; <?xml version="1.0" encoding="UTF-8"?> ; <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> ; <Name>chilkat</Name> ; <Prefix/> ; <Marker/> ; <MaxKeys>1000</MaxKeys> ; <IsTruncated>false</IsTruncated> ; <Contents> ; <Key>orchard.json</Key> ; <LastModified>2021-10-29T16:58:12.000Z</LastModified> ; <ETag>"303FB46CF341094FEF6274B7789CD6AA"</ETag> ; <Size>22</Size> ; <StorageClass>STANDARD</StorageClass> ; <Owner> ; <ID>5035535379748121</ID> ; <DisplayName>5035535379748121</DisplayName> ; </Owner> ; </Contents> ; <Contents> ; <Key>seahorse.jpg</Key> ; <LastModified>2021-10-29T16:52:01.000Z</LastModified> ; <ETag>"A8551F0A5437F43A796FCA7623EE9232"</ETag> ; <Size>24388</Size> ; <StorageClass>STANDARD</StorageClass> ; <Owner> ; <ID>5035535379748121</ID> ; <DisplayName>5035535379748121</DisplayName> ; </Owner> ; ; </Contents> ; </ListBucketResult> Key.s LastModified.s ETag.s SizeDecimalStr.s StorageClass.s ID.s DisplayName.s ListBucketResult_xmlns.s = CkXml::ckGetAttrValue(xml,"xmlns") Name.s = CkXml::ckGetChildContent(xml,"Name") MaxKeys.i = CkXml::ckGetChildIntValue(xml,"MaxKeys") IsTruncated.s = CkXml::ckGetChildContent(xml,"IsTruncated") i.i = 0 count_i.i = CkXml::ckNumChildrenHavingTag(xml,"Contents") While i < count_i CkXml::setCkI(xml, i) Key = CkXml::ckGetChildContent(xml,"Contents[i]|Key") LastModified = CkXml::ckGetChildContent(xml,"Contents[i]|LastModified") ETag = CkXml::ckGetChildContent(xml,"Contents[i]|ETag") SizeDecimalStr = CkXml::ckGetChildContent(xml,"Contents[i]|Size") StorageClass = CkXml::ckGetChildContent(xml,"Contents[i]|StorageClass") ID = CkXml::ckGetChildContent(xml,"Contents[i]|Owner|ID") DisplayName = CkXml::ckGetChildContent(xml,"Contents[i]|Owner|DisplayName") i = i + 1 Wend CkHttp::ckDispose(http) CkXml::ckDispose(xml) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.