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
(Tcl) 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.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set rest [new_CkRest] # Connect to the Amazon AWS REST server. set bTls 1 set port 443 set bAutoReconnect 1 set success [CkRest_Connect $rest "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. set authAws [new_CkAuthAws] CkAuthAws_put_AccessKey $authAws "AWS_ACCESS_KEY" CkAuthAws_put_SecretKey $authAws "AWS_SECRET_KEY" CkAuthAws_put_ServiceName $authAws "s3" set success [CkRest_SetAuthAws $rest $authAws] # The bucket name is "chilkat100" set sbResponse [new_CkStringBuilder] set success [CkRest_FullRequestNoBodySb $rest "GET" "/chilkat100" $sbResponse] if {$success != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkAuthAws $authAws delete_CkStringBuilder $sbResponse exit } set statusCode [CkRest_get_ResponseStatusCode $rest] puts "Response status code = $statusCode" set xml [new_CkXml] CkXml_LoadSb $xml $sbResponse 1 puts [CkXml_getXml $xml] if {$statusCode != 200} then { puts "Failed. See error information in the XML." delete_CkRest $rest delete_CkAuthAws $authAws delete_CkStringBuilder $sbResponse delete_CkXml $xml exit } # Use this online tool to generate code from sample XML: # Generate Code to Create XML set Name [CkXml_getChildContent $xml "Name"] set MaxKeys [CkXml_GetChildIntValue $xml "MaxKeys"] set IsTruncated [CkXml_getChildContent $xml "IsTruncated"] set i 0 set count_i [CkXml_NumChildrenHavingTag $xml "Contents"] while {$i < $count_i} { CkXml_put_I $xml $i set Key [CkXml_getChildContent $xml "Contents[i]|Key"] set LastModified [CkXml_getChildContent $xml "Contents[i]|LastModified"] set ETag [CkXml_getChildContent $xml "Contents[i]|ETag"] set SizeDecimalStr [CkXml_getChildContent $xml "Contents[i]|Size"] set ID [CkXml_getChildContent $xml "Contents[i]|Owner|ID"] set DisplayName [CkXml_getChildContent $xml "Contents[i]|Owner|DisplayName"] set StorageClass [CkXml_getChildContent $xml "Contents[i]|StorageClass"] set i [expr $i + 1] } puts "Success." delete_CkRest $rest delete_CkAuthAws $authAws delete_CkStringBuilder $sbResponse delete_CkXml $xml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.