![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) S3 List Objects in BucketDemonstrates how to retrieve the XML listing of the objects (i.e. files) stored in an Amazon S3 bucket. (This is like a directory listing.) Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkHttp.pb" IncludeFile "CkXml.pb" IncludeFile "CkDateTime.pb" IncludeFile "CkDtObj.pb" Procedure ChilkatExample() success.i = 0 ; 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 access key here: CkHttp::setCkAwsAccessKey(http, "AWS_ACCESS_KEY") ; Insert your secret key here: CkHttp::setCkAwsSecretKey(http, "AWS_SECRET_KEY") strXml.s = CkHttp::ckS3_ListBucketObjects(http,"chilkat100") If CkHttp::ckLastMethodSuccess(http) = 0 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 = CkXml::ckLoadXml(xml,strXml) If success = 0 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 "----" ; Iterate over the bucket items and get information for each.. numItems.i = CkXml::ckNumChildrenHavingTag(xml,"Contents") Debug "Number of bucket items = " + Str(numItems) itemKey.s itemSize.i lastModTimestamp.s dt.i = CkDateTime::ckCreate() If dt.i = 0 Debug "Failed to create object." ProcedureReturn EndIf dtObj.i = CkDtObj::ckCreate() If dtObj.i = 0 Debug "Failed to create object." ProcedureReturn EndIf i.i = 0 While i < numItems CkXml::setCkI(xml, i) itemKey = CkXml::ckGetChildContent(xml,"Contents[i]|Key") itemSize = CkXml::ckGetChildIntValue(xml,"Contents[i]|Size") lastModTimestamp = CkXml::ckGetChildContent(xml,"Contents[i]|LastModified") CkDateTime::ckSetFromRfc822(dt,lastModTimestamp) ; Get a local date/time. bLocal.i = 1 CkDateTime::ckToDtObj(dt,bLocal,dtObj) Debug Str(i) + ": " + itemKey + ", " + Str(itemSize) + ", " + Str(CkDtObj::ckDay(dtObj)) + "-" + Str(CkDtObj::ckMonth(dtObj)) + "-" + Str(CkDtObj::ckYear(dtObj)) + ":" + Str(CkDtObj::ckHour(dtObj)) + ":" + Str(CkDtObj::ckMinute(dtObj)) i = i + 1 Wend ; Sample output from the above loop: ; 0: Abc.ics, 1833, 25-5-2011:9:53 ; 1: Corpse Bride film poster.jpg, 53481, 6-9-2016:13:32 ; 2: chiliPepper.gif, 7718, 12-3-2017:12:18 ; 3: chilkatdude.jpg, 35137, 20-5-2011:16:14 ; 4: cloud.search/dfe/indexer/pscc/2016/3/28/id,x-2-15-0-25-87-0.json, 1238, 2-4-2016:12:0 ; 5: cloud.search/dfe/indexer/pscc/2016/3/28/idx-2-15-0-25-87-0.json, 1238, 2-4-2016:11:33 ; 6: dude.gif, 6373, 25-5-2011:17:29 ; 7: french.txt, 47, 12-3-2017:12:18 ; 8: hamlet.xml, 279658, 2-5-2016:12:21 ; 9: hamlet_play.xml, 279658, 20-3-2017:8:22 ; 10: images/sea_creatures/starfish123.jpg, 6229, 19-1-2017:10:45 ; 11: images/sea_creatures/starfishåäö.jpg, 6229, 19-1-2017:12:7 ; 12: new folder/, 0, 26-11-2014:12:36 ; 13: new_starfish.jpg, 6229, 20-3-2017:8:22 ; 14: pigs.xml, 2804, 20-3-2017:8:22 ; 15: somethingBig.zip, 13089458, 26-9-2016:9:29 ; 16: starfish.jpg, 6229, 12-3-2017:12:18 ; 17: starfish/, 0, 10-11-2014:10:7 ; 18: starfish/starfish.jpg, 6229, 10-11-2014:10:8 ; 19: starfish/starfish2.jpg, 6229, 19-11-2014:10:36 ; 20: starfish/starfish3.jpg, 6229, 24-11-2014:14:33 ; 21: starfish2.jpg, 5987, 20-4-2012:12:6 ; 22: starfish3.jpg, 5987, 11-4-2012:7:10 ; 23: starfishA.jpg, 6229, 10-5-2016:8:44 ; 24: starfishCust.jpg, 6229, 12-11-2014:18:25 ; 25: xyz.ics, 1833, 25-5-2011:8:52 ; <?xml version="1.0" encoding="UTF-8" ?> ; <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> ; <Name>chilkat100</Name> ; <Prefix /> ; <Marker /> ; <MaxKeys>1000</MaxKeys> ; <IsTruncated>false</IsTruncated> ; <Contents> ; <Key>Abc.ics</Key> ; <LastModified>2011-05-25T14:53:27.000Z</LastModified> ; <ETag>"12ed2e28ff4abd4faead06b491836e64"</ETag> ; <Size>1833</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>Corpse Bride film poster.jpg</Key> ; <LastModified>2016-09-06T18:32:05.000Z</LastModified> ; <ETag>"5a63ba56f0641244e4988dd171b8c5ae"</ETag> ; <Size>53481</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>chiliPepper.gif</Key> ; <LastModified>2017-03-12T17:18:16.000Z</LastModified> ; <ETag>"8ee9b257fa70f69400d596977809da94"</ETag> ; <Size>7718</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>chilkatdude.jpg</Key> ; <LastModified>2011-05-20T21:14:44.000Z</LastModified> ; <ETag>"6f7555035d080421e09e932daf19c79d"</ETag> ; <Size>35137</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>cloud.search/dfe/indexer/pscc/2016/3/28/id,x-2-15-0-25-87-0.json</Key> ; <LastModified>2016-04-02T17:00:10.000Z</LastModified> ; <ETag>"518d70f41c9df4f85762ecde8a34cdea"</ETag> ; <Size>1238</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>cloud.search/dfe/indexer/pscc/2016/3/28/idx-2-15-0-25-87-0.json</Key> ; <LastModified>2016-04-02T16:33:36.000Z</LastModified> ; <ETag>"518d70f41c9df4f85762ecde8a34cdea"</ETag> ; <Size>1238</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>dude.gif</Key> ; <LastModified>2011-05-25T22:29:31.000Z</LastModified> ; <ETag>"208b908388905d442e81ded00a55541b"</ETag> ; <Size>6373</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>french.txt</Key> ; <LastModified>2017-03-12T17:18:16.000Z</LastModified> ; <ETag>"54468302e7cda1c1dfe45748d430035a"</ETag> ; <Size>47</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>hamlet.xml</Key> ; <LastModified>2016-05-02T17:21:27.000Z</LastModified> ; <ETag>"e04ea9ac8f616b0f35c5a7522de123dd"</ETag> ; <Size>279658</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>hamlet_play.xml</Key> ; <LastModified>2017-03-20T13:22:40.000Z</LastModified> ; <ETag>"e04ea9ac8f616b0f35c5a7522de123dd"</ETag> ; <Size>279658</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>images/sea_creatures/starfish123.jpg</Key> ; <LastModified>2017-01-19T16:45:52.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>images/sea_creatures/starfishåäö.jpg</Key> ; <LastModified>2017-01-19T18:07:11.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>new folder/</Key> ; <LastModified>2014-11-26T18:36:22.000Z</LastModified> ; <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> ; <Size>0</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>new_starfish.jpg</Key> ; <LastModified>2017-03-20T13:22:57.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>pigs.xml</Key> ; <LastModified>2017-03-20T13:22:58.000Z</LastModified> ; <ETag>"8252a4499a0df9afbc5d8f3d9995d816"</ETag> ; <Size>2804</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>somethingBig.zip</Key> ; <LastModified>2016-09-26T14:29:36.000Z</LastModified> ; <ETag>"109aa5c86378979c7b93752163c7a51f-3"</ETag> ; <Size>13089458</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish.jpg</Key> ; <LastModified>2017-03-12T17:18:16.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish/</Key> ; <LastModified>2014-11-10T16:07:45.000Z</LastModified> ; <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> ; <Size>0</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish/starfish.jpg</Key> ; <LastModified>2014-11-10T16:08:05.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish/starfish2.jpg</Key> ; <LastModified>2014-11-19T16:36:38.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish/starfish3.jpg</Key> ; <LastModified>2014-11-24T20:33:11.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish2.jpg</Key> ; <LastModified>2012-04-20T17:06:45.000Z</LastModified> ; <ETag>"525887bb7ff22c9b7f5446cb9748d59e"</ETag> ; <Size>5987</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfish3.jpg</Key> ; <LastModified>2012-04-11T12:10:40.000Z</LastModified> ; <ETag>"525887bb7ff22c9b7f5446cb9748d59e"</ETag> ; <Size>5987</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfishA.jpg</Key> ; <LastModified>2016-05-10T13:44:15.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>starfishCust.jpg</Key> ; <LastModified>2014-11-13T00:25:17.000Z</LastModified> ; <ETag>"2e9c59dbf2662367dc97dfdda85da048"</ETag> ; <Size>6229</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; <Contents> ; <Key>xyz.ics</Key> ; <LastModified>2011-05-25T13:52:51.000Z</LastModified> ; <ETag>"12ed2e28ff4abd4faead06b491836e64"</ETag> ; <Size>1833</Size> ; <Owner> ; <ID>cf311e0b13e11b646949b7107f11b2bfbc5358f90df39395054ec40000695168</ID> ; <DisplayName>johnson</DisplayName> ; </Owner> ; <StorageClass>STANDARD</StorageClass> ; </Contents> ; </ListBucketResult> CkHttp::ckDispose(http) CkXml::ckDispose(xml) CkDateTime::ckDispose(dt) CkDtObj::ckDispose(dtObj) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.