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
(Perl) 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.
use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $rest = chilkat::CkRest->new(); # Connect to the Amazon AWS REST server. $bTls = 1; $port = 443; $bAutoReconnect = 1; $success = $rest->Connect("s3.amazonaws.com",$port,$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. $authAws = chilkat::CkAuthAws->new(); $authAws->put_AccessKey("AWS_ACCESS_KEY"); $authAws->put_SecretKey("AWS_SECRET_KEY"); $authAws->put_ServiceName("s3"); $success = $rest->SetAuthAws($authAws); # The bucket name is "chilkat100" $sbResponse = chilkat::CkStringBuilder->new(); $success = $rest->FullRequestNoBodySb("GET","/chilkat100",$sbResponse); if ($success != 1) { print $rest->lastErrorText() . "\r\n"; exit; } $statusCode = $rest->get_ResponseStatusCode(); print "Response status code = " . $statusCode . "\r\n"; $xml = chilkat::CkXml->new(); $xml->LoadSb($sbResponse,1); print $xml->getXml() . "\r\n"; if ($statusCode != 200) { print "Failed. See error information in the XML." . "\r\n"; exit; } # Use this online tool to generate code from sample XML: # Generate Code to Create XML $Name = $xml->getChildContent("Name"); $MaxKeys = $xml->GetChildIntValue("MaxKeys"); $IsTruncated = $xml->getChildContent("IsTruncated"); $i = 0; $count_i = $xml->NumChildrenHavingTag("Contents"); while ($i < $count_i) { $xml->put_I($i); $Key = $xml->getChildContent("Contents[i]|Key"); $LastModified = $xml->getChildContent("Contents[i]|LastModified"); $ETag = $xml->getChildContent("Contents[i]|ETag"); $SizeDecimalStr = $xml->getChildContent("Contents[i]|Size"); $ID = $xml->getChildContent("Contents[i]|Owner|ID"); $DisplayName = $xml->getChildContent("Contents[i]|Owner|DisplayName"); $StorageClass = $xml->getChildContent("Contents[i]|StorageClass"); $i = $i + 1; } print "Success." . "\r\n"; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.