Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(C# UWP/WinRT) 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. Chilkat.Http http = new Chilkat.Http(); // Insert your access key here: http.AwsAccessKey = "AWS_ACCESS_KEY"; // Insert your secret key here: http.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 string strXml = await http.S3_ListBucketObjectsAsync("chilkat100?prefix=images/&delimiter=/"); if (http.LastMethodSuccess != true) { Debug.WriteLine(http.LastErrorText); return; } Debug.WriteLine("Response status code = " + Convert.ToString(http.LastStatus)); Chilkat.Xml xml = new Chilkat.Xml(); bool success = xml.LoadXml(strXml); if (success != true) { Debug.WriteLine(xml.LastErrorText); return; } // If the response status code was not 200, then the XML response is not a // listing of objects, but instead contains error information. if (http.LastStatus != 200) { Debug.WriteLine(xml.GetXml()); Debug.WriteLine("Failed."); return; } // A sample response is shown below. Debug.WriteLine(xml.GetXml()); Debug.WriteLine("----"); // 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> string Prefix; // The XML can be parsed like this: int i = 0; int count_i = xml.NumChildrenHavingTag("CommonPrefixes"); while (i < count_i) { xml.I = i; Prefix = xml.GetChildContent("CommonPrefixes[i]|Prefix"); Debug.WriteLine("Prefix = " + Prefix); i = i + 1; } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.