AutoIt
AutoIt
OSS List Bucket Objects (Alibaba Cloud)
See more Alibaba Cloud OSS Examples
Demonstrates how to list the objects in a bucket.The Chilkat S3 functions in the HTTP class are compatible with Alibaba Cloud's OSS service.
Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat HTTP API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("Chilkat.Http")
; Insert your AccessKey ID here:
$oHttp.AwsAccessKey = "access-key"
; Insert your AccessKey Secret here:
$oHttp.AwsSecretKey = "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
$oHttp.AwsEndpoint = "oss-us-east-1.aliyuncs.com"
Local $sBucketName = "chilkat"
Local $strXml = $oHttp.S3_ListBucketObjects($sBucketName)
If ($oHttp.LastMethodSuccess <> True) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Response status code = " & $oHttp.LastStatus & @CRLF)
$oXml = ObjCreate("Chilkat.Xml")
$bSuccess = $oXml.LoadXml($strXml)
If ($bSuccess <> True) Then
ConsoleWrite($oXml.LastErrorText & @CRLF)
Exit
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 ($oHttp.LastStatus <> 200) Then
ConsoleWrite($oXml.GetXml() & @CRLF)
ConsoleWrite("Failed." & @CRLF)
Exit
EndIf
; A sample response is shown below.
ConsoleWrite($oXml.GetXml() & @CRLF)
ConsoleWrite("----" & @CRLF)
; 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>
Local $sKey
Local $sLastModified
Local $sETag
Local $sSizeDecimalStr
Local $sStorageClass
Local $sID
Local $sDisplayName
Local $sListBucketResult_xmlns = $oXml.GetAttrValue("xmlns")
Local $sName = $oXml.GetChildContent("Name")
Local $iMaxKeys = $oXml.GetChildIntValue("MaxKeys")
Local $sIsTruncated = $oXml.GetChildContent("IsTruncated")
Local $i = 0
Local $iCount_i = $oXml.NumChildrenHavingTag("Contents")
While $i < $iCount_i
$oXml.I = $i
$sKey = $oXml.GetChildContent("Contents[i]|Key")
$sLastModified = $oXml.GetChildContent("Contents[i]|LastModified")
$sETag = $oXml.GetChildContent("Contents[i]|ETag")
$sSizeDecimalStr = $oXml.GetChildContent("Contents[i]|Size")
$sStorageClass = $oXml.GetChildContent("Contents[i]|StorageClass")
$sID = $oXml.GetChildContent("Contents[i]|Owner|ID")
$sDisplayName = $oXml.GetChildContent("Contents[i]|Owner|DisplayName")
$i = $i + 1
Wend