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
(AutoIt) S3 Get Bucket Objects with CommonPrefixesDemonstrates how to get a list of bucket objects using the prefix and delimiter query params to get an XML result with CommonPrefixes.
; 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 access key here: $oHttp.AwsAccessKey = "AWS_ACCESS_KEY" ; Insert your secret key here: $oHttp.AwsSecretKey = "AWS_SECRET_KEY" ; In this example, my bucket is "chilkat100". ; It contains a number of folders, one of which is named "images". ; I want to get a list of all sub-folders under the "images" folder Local $strXml = $oHttp.S3_ListBucketObjects("chilkat100?prefix=images/&delimiter=/") If ($oHttp.LastMethodSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf ConsoleWrite("Response status code = " & $oHttp.LastStatus & @CRLF) $oXml = ObjCreate("Chilkat.Xml") Local $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) ; Here is the list of sub-folders (i.e. CommonPrefixes) ; <?xml version="1.0" encoding="UTF-8"?> ; <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> ; <Name>chilkat100</Name> ; <Prefix>images/</Prefix> ; <Marker/> ; <MaxKeys>1000</MaxKeys> ; <Delimiter>/</Delimiter> ; <IsTruncated>false</IsTruncated> ; <CommonPrefixes> ; <Prefix>images/africa/</Prefix> ; </CommonPrefixes> ; <CommonPrefixes> ; <Prefix>images/sea_creatures/</Prefix> ; </CommonPrefixes> ; </ListBucketResult> Local $sPrefix ; The XML can be parsed like this: Local $i = 0 Local $iCount_i = $oXml.NumChildrenHavingTag("CommonPrefixes") While $i < $iCount_i $oXml.I = $i $sPrefix = $oXml.GetChildContent("CommonPrefixes[i]|Prefix") ConsoleWrite("Prefix = " & $sPrefix & @CRLF) $i = $i + 1 Wend |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.