AutoIt
AutoIt
Backblaze S3 List Bucket Objects
See more Backblaze S3 Examples
Demonstrates how to list the objects in a bucket.The Chilkat S3 functions in the HTTP class are compatible with the Backblaze service. However, because of some specific issues, Chilkat v9.5.0.89 or later is needed.
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")
; keyID = Access Key ID or Access Key
$oHttp.AwsAccessKey = "access-key"
; applicationKey = Secret Access Key or Secret Key
$oHttp.AwsSecretKey = "secret-key"
; Region is the 2nd part of your S3 Endpoint
$oHttp.AwsEndpoint = "s3.us-west-002.backblazeb2.com"
Local $sBucketName = "chilkat-test"
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" standalone="yes"?>
; <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
; <Contents>
; <ETag>"303fb46cf341094fef6274b7789cd6aa"</ETag>
; <Key>orchard.json</Key>
; <LastModified>2021-10-30T14:45:52.000Z</LastModified>
; <Owner>
; <ID>f2ebbc5f792c</ID>
; <DisplayName/>
; </Owner>
; <Size>22</Size>
; <StorageClass>STANDARD</StorageClass>
; </Contents>
; <Contents>
; <ETag>"a8551f0a5437f43a796fca7623ee9232"</ETag>
; <Key>seahorse.jpg</Key>
; <LastModified>2021-10-30T14:38:53.000Z</LastModified>
; <Owner>
; <ID>f2ebbc5f792c</ID>
; <DisplayName/>
; </Owner>
; <Size>24388</Size>
; <StorageClass>STANDARD</StorageClass>
; </Contents>
; <IsTruncated>false</IsTruncated>
; <MaxKeys>1000</MaxKeys>
; <Name>chilkat-test</Name>
; <Prefix/>
; <Marker/>
; </ListBucketResult>
Local $sETag
Local $sKey
Local $sLastModified
Local $sID
Local $sSizeDecimalStr
Local $sStorageClass
Local $sListBucketResult_xmlns = $oXml.GetAttrValue("xmlns")
Local $i = 0
Local $iCount_i = $oXml.NumChildrenHavingTag("Contents")
While $i < $iCount_i
$oXml.I = $i
$sETag = $oXml.GetChildContent("Contents[i]|ETag")
$sKey = $oXml.GetChildContent("Contents[i]|Key")
$sLastModified = $oXml.GetChildContent("Contents[i]|LastModified")
$sID = $oXml.GetChildContent("Contents[i]|Owner|ID")
$sSizeDecimalStr = $oXml.GetChildContent("Contents[i]|Size")
$sStorageClass = $oXml.GetChildContent("Contents[i]|StorageClass")
$i = $i + 1
Wend
Local $sIsTruncated = $oXml.GetChildContent("IsTruncated")
Local $iMaxKeys = $oXml.GetChildIntValue("MaxKeys")
Local $sName = $oXml.GetChildContent("Name")