Python Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Python Examples

Quick Start
Python Unicode
Python Byte Array
Python Certs
Python Email
Python Encryption
Python FTP
HTML-to-XML
Python HTTP
Python IMAP
Python MHT
Python MIME
Python RSA
Python S/MIME
Python Signatures
Python Socket
Python Spider
Python Tar
Python Upload
Python XML
Python XMP
Python Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Amazon S3 - Delete Bucket (REST API)

Deletes an Amazon S3 bucket using the REST API. This example deletes the bucket named "chilkat3".

Download Chilkat Python Library

import sys
import chilkat

http = chilkat.CkHttp()
success = http.UnlockComponent("Anything for 30-day trial.")
if (success != True):
    #  Unlock failed.
    print http.lastErrorText()
    sys.exit()

crypt = chilkat.CkCrypt2()

success = crypt.UnlockComponent("Anything for 30-day trial.")
if (success != True):
    print crypt.lastErrorText()
    sys.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 == None ):
    #  Failed.  Show the last request header, response header,
    #  and response body.
    print http.lastHeader()
    print "---"
    print http.lastResponseHeader()
    print "---"
    print http.lastErrorText()
else:

    #  Success is indicated by an empty response string, and
    #  a response status of 204.
    if (http.get_LastStatus() == 204):
        print "Bucket deleted!"

        #  Let's check out the response header anyway...
        print http.lastResponseHeader()

    else:

        #  Is this a temporary redirect?
        if (http.get_LastStatus() == 307):

            #  The new endpoint is in the XML contained within responseStr.
            xml = chilkat.CkXml()
            xml.LoadXml(responseStr)
            endpoint = xml.getChildContent("Endpoint")
            responseStr = http.quickDeleteStr(endpoint)
            if (http.get_LastStatus() == 204):
                print "Bucket deleted after redirect!"

                #  Let's check out the response header anyway...
                print http.lastResponseHeader()

            else:
                #  What happened???
                print "LastStatus: " + http.get_LastStatus()
                print "---"
                print responseStr
                print "---"
                print http.lastHeader()
                print "---"
                print http.lastResponseHeader()
                print "---"
                print http.lastErrorText()

        else:
            #  What response is this???
            print "LastStatus: " + http.get_LastStatus()
            print "---"
            print responseStr
            print "---"
            #  Failed.  Show the last request header, response header,
            #  and response body.
            print http.lastHeader()
            print "---"
            print http.lastResponseHeader()
            print "---"
            print http.lastErrorText()


 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.