AutoIt
AutoIt
S3 List Bucket Objects (Bucket-in-Path)
See more Amazon S3 (new) Examples
Demonstrates how to fetch a list of objects in an S3 bucket, but using the bucket-in-path request format instead of putting the bucket name in the HOST header.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oRest = ObjCreate("Chilkat.Rest")
; Connect to the Amazon AWS REST server.
Local $bTls = True
Local $iPort = 443
Local $bAutoReconnect = True
$bSuccess = $oRest.Connect("s3.amazonaws.com",$iPort,$bTls,$bAutoReconnect)
; ----------------------------------------------------------------------------
; Important: For buckets created in regions outside us-east-1,
; there are three important changes that need to be made.
; See Working with S3 Buckets in Non-us-east-1 Regions for the details.
; ----------------------------------------------------------------------------
; Provide AWS credentials for the REST call.
$oAuthAws = ObjCreate("Chilkat.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.SecretKey = "AWS_SECRET_KEY"
$oAuthAws.ServiceName = "s3"
$bSuccess = $oRest.SetAuthAws($oAuthAws)
; The bucket name is "chilkat100"
$oSbResponse = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oRest.FullRequestNoBodySb("GET","/chilkat100",$oSbResponse)
If ($bSuccess <> True) Then
ConsoleWrite($oRest.LastErrorText & @CRLF)
Exit
EndIf
Local $iStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("Response status code = " & $iStatusCode & @CRLF)
$oXml = ObjCreate("Chilkat.Xml")
$oXml.LoadSb($oSbResponse,True)
ConsoleWrite($oXml.GetXml() & @CRLF)
If ($iStatusCode <> 200) Then
ConsoleWrite("Failed. See error information in the XML." & @CRLF)
Exit
EndIf
; Use this online tool to generate code from sample XML:
; Generate Code to Create XML
Local $sKey
Local $sLastModified
Local $sETag
Local $sSizeDecimalStr
Local $sID
Local $sDisplayName
Local $sStorageClass
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")
$sID = $oXml.GetChildContent("Contents[i]|Owner|ID")
$sDisplayName = $oXml.GetChildContent("Contents[i]|Owner|DisplayName")
$sStorageClass = $oXml.GetChildContent("Contents[i]|StorageClass")
$i = $i + 1
Wend
ConsoleWrite("Success." & @CRLF)