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
(Visual FoxPro) S3 List Bucket Objects (Bucket-in-Path)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.
LOCAL loRest LOCAL lnBTls LOCAL lnPort LOCAL lnBAutoReconnect LOCAL lnSuccess LOCAL loAuthAws LOCAL loSbResponse LOCAL lnStatusCode LOCAL loXml LOCAL lcKey LOCAL lcLastModified LOCAL lcETag LOCAL lcSizeDecimalStr LOCAL lcID LOCAL lcDisplayName LOCAL lcStorageClass LOCAL lcName LOCAL lnMaxKeys LOCAL lcIsTruncated LOCAL i LOCAL lnCount_i * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rest') loRest = CreateObject('Chilkat.Rest') * Connect to the Amazon AWS REST server. lnBTls = 1 lnPort = 443 lnBAutoReconnect = 1 lnSuccess = loRest.Connect("s3.amazonaws.com",lnPort,lnBTls,lnBAutoReconnect) * ---------------------------------------------------------------------------- * 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. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.AuthAws') loAuthAws = CreateObject('Chilkat.AuthAws') loAuthAws.AccessKey = "AWS_ACCESS_KEY" loAuthAws.SecretKey = "AWS_SECRET_KEY" loAuthAws.ServiceName = "s3" lnSuccess = loRest.SetAuthAws(loAuthAws) * The bucket name is "chilkat100" * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponse = CreateObject('Chilkat.StringBuilder') lnSuccess = loRest.FullRequestNoBodySb("GET","/chilkat100",loSbResponse) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loAuthAws RELEASE loSbResponse CANCEL ENDIF lnStatusCode = loRest.ResponseStatusCode ? "Response status code = " + STR(lnStatusCode) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') loXml.LoadSb(loSbResponse,1) ? loXml.GetXml() IF (lnStatusCode <> 200) THEN ? "Failed. See error information in the XML." RELEASE loRest RELEASE loAuthAws RELEASE loSbResponse RELEASE loXml CANCEL ENDIF * Use this online tool to generate code from sample XML: * Generate Code to Create XML lcName = loXml.GetChildContent("Name") lnMaxKeys = loXml.GetChildIntValue("MaxKeys") lcIsTruncated = loXml.GetChildContent("IsTruncated") i = 0 lnCount_i = loXml.NumChildrenHavingTag("Contents") DO WHILE i < lnCount_i loXml.I = i lcKey = loXml.GetChildContent("Contents[i]|Key") lcLastModified = loXml.GetChildContent("Contents[i]|LastModified") lcETag = loXml.GetChildContent("Contents[i]|ETag") lcSizeDecimalStr = loXml.GetChildContent("Contents[i]|Size") lcID = loXml.GetChildContent("Contents[i]|Owner|ID") lcDisplayName = loXml.GetChildContent("Contents[i]|Owner|DisplayName") lcStorageClass = loXml.GetChildContent("Contents[i]|StorageClass") i = i + 1 ENDDO ? "Success." RELEASE loRest RELEASE loAuthAws RELEASE loSbResponse RELEASE loXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.