Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Amazon S3 - Delete Bucket (REST API)Deletes an Amazon S3 bucket using the REST API. This example deletes the bucket named "chilkat3".
use chilkat(); $http = new chilkat::CkHttp(); $success = $http->UnlockComponent("Anything for 30-day trial."); if ($success != 1) { # Unlock failed. print $http->lastErrorText() . "\n"; exit; } $crypt = new chilkat::CkCrypt2(); $success = $crypt->UnlockComponent("Anything for 30-day trial."); if ($success != 1) { print $crypt->lastErrorText() . "\n"; exit; } # The HTTP component now includes a method to generate # the current date/time in RFC 2616 compliant format. # Note: The GenTimeStamp method is available as a pre-release (as of 18-June-2008). # It will become available in the next new version dated after # 18-June-2008. $curDateTime = $http->genTimeStamp(); # Delete the bucket named "chilkat3" $strToSign = "DELETE" . "\n" . "\n" . "\n" . $curDateTime . "\n" . "/chilkat3/"; # We want SHA1 for the HMAC hash algorithm: $crypt->put_HashAlgorithm("sha1"); # These must be changed for your account: $AWSAccessKeyId = "zzzzzzzzzzzzzzzzzzzzz"; $AWSSecretAccessKey = "zzzzzzzzzzzzzzzzzzzzzzzzzzz"; # Set the HMAC secret key: $crypt->SetHmacKeyString($AWSSecretAccessKey); # By setting the charset = "utf-8", the string will be converted # to utf-8 (internal to the Chilkat component) prior to signing: $crypt->put_Charset("utf-8"); # Indicate that Base64 output is desired: $crypt->put_EncodingMode("base64"); $signature = $crypt->hmacStringENC($strToSign); $authValue = "AWS " . $AWSAccessKeyId . ":" . $signature; # The bucket to be deleted is specified in the Host header. # In this example, the "chilkat3" bucket is deleted $http->SetRequestHeader("Host","chilkat3.s3.amazonaws.com"); $http->SetRequestHeader("Authorization",$authValue); $http->SetRequestHeader("Date",$curDateTime); # Send the DELETE request. $responseStr = $http->quickDeleteStr("http://s3.amazonaws.com/"); if ($responseStr eq null ) { # Failed. Show the last request header, response header, # and response body. print $http->lastHeader() . "\r\n"; print "---" . "\r\n"; print $http->lastResponseHeader() . "\r\n"; print "---" . "\r\n"; print $http->lastErrorText() . "\r\n"; } else { # Success is indicated by an empty response string, and # a response status of 204. if ($http->get_LastStatus() == 204) { print "Bucket deleted!" . "\n"; # Let's check out the response header anyway... print $http->lastResponseHeader() . "\r\n"; } else { # Is this a temporary redirect? if ($http->get_LastStatus() == 307) { # The new endpoint is in the XML contained within responseStr. $xml = new chilkat::CkXml(); $xml->LoadXml($responseStr); $endpoint = $xml->getChildContent("Endpoint"); $responseStr = $http->quickDeleteStr($endpoint); if ($http->get_LastStatus() == 204) { print "Bucket deleted after redirect!" . "\n"; # Let's check out the response header anyway... print $http->lastResponseHeader() . "\r\n"; } else { # What happened??? print "LastStatus: " . $http->get_LastStatus() . "\r\n"; print "---" . "\r\n"; print $responseStr . "\r\n"; print "---" . "\r\n"; print $http->lastHeader() . "\r\n"; print "---" . "\r\n"; print $http->lastResponseHeader() . "\r\n"; print "---" . "\r\n"; print $http->lastErrorText() . "\r\n"; } } else { # What response is this??? print "LastStatus: " . $http->get_LastStatus() . "\r\n"; print "---" . "\r\n"; print $responseStr . "\r\n"; print "---" . "\r\n"; # Failed. Show the last request header, response header, # and response body. print $http->lastHeader() . "\r\n"; print "---" . "\r\n"; print $http->lastResponseHeader() . "\r\n"; print "---" . "\r\n"; print $http->lastErrorText() . "\r\n"; } } } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.