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) Create S3 Bucket in a RegionSee more Amazon S3 ExamplesDemonstrates how to create an S3 bucket in a specified region. This example will create a bucket in the eu-west-2 region. For more information, see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
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] # 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] # We'll send a PUT request having an XML body such as this: # <CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> # <LocationConstraint>BucketRegion</LocationConstraint> # </CreateBucketConfiguration> # Create the XML body specifying the region as "eu-west-2" set bucketRegion "eu-west-2" set sbBucketRegion [new_CkStringBuilder] CkStringBuilder_Append $sbBucketRegion $bucketRegion # We only need to specify the LocationConstraint if the bucket's region is NOT us-east-1 set xml [new_CkXml] if {![CkStringBuilder_ContentsEqual $sbBucketRegion "us-east-1"]} then { CkXml_put_Tag $xml "CreateBucketConfiguration" CkXml_AddAttribute $xml "xmlns" "http://s3.amazonaws.com/doc/2006-03-01/" CkXml_UpdateChildContent $xml "LocationConstraint" "eu-west-2" } # -------------------------------------------------------------- # IMPORTANT: To create a bucket in the default us-east-1 region, # do not add the LocationConstraint. Adding a LocationConstraint of "us-east-1" # causes an error "The specified location-constraint is not valid." # By default, the bucket is created in us-east-1 by sending a PUT with an empty body. # -------------------------------------------------------------- # Set the bucket name via the HOST header. # In this case, the bucket name is "chilkateuwest2". CkRest_put_Host $rest "chilkateuwest2.s3.amazonaws.com" # Make the call to create the bucket. if {![CkStringBuilder_ContentsEqual $sbBucketRegion "us-east-1"]} then { set responseStr [CkRest_fullRequestString $rest "PUT" "/" [CkXml_getXml $xml]] } else { # If the bucket is to be created in the us-east-1 region (the default region) # just send a PUT with no body. set responseStr [CkRest_fullRequestNoBody $rest "PUT" "/"] } if {[CkRest_get_LastMethodSuccess $rest] != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkAuthAws $authAws delete_CkStringBuilder $sbBucketRegion delete_CkXml $xml exit } if {[CkRest_get_ResponseStatusCode $rest] != 200} then { puts "status code = [CkRest_get_ResponseStatusCode $rest]" set responseXml [new_CkXml] CkXml_LoadXml $responseXml $responseStr puts [CkXml_getXml $responseXml] puts "Failed." delete_CkRest $rest delete_CkAuthAws $authAws delete_CkStringBuilder $sbBucketRegion delete_CkXml $xml delete_CkXml $responseXml exit } puts "Bucket in the eu-west-2 region created." delete_CkRest $rest delete_CkAuthAws $authAws delete_CkStringBuilder $sbBucketRegion delete_CkXml $xml delete_CkXml $responseXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.