Ruby
Ruby
S3 Find Bucket Region
See more Amazon S3 (new) Examples
Demonstrates how to find out the region of an S3 bucket.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This 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 using the correct region (in this example, "us-west-2")
bTls = true
port = 443
bAutoReconnect = true
success = rest.Connect("s3.amazonaws.com",port,bTls,bAutoReconnect)
# 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 we want to know about is set in the HOST header.
# In this example, we want to find the region for the "chilkat.qa" bucket.
rest.put_Host("chilkat.qa.s3.amazonaws.com")
# Send the GET request to query the bucket location.
strResult = rest.fullRequestNoBody("GET","/?location")
if (rest.get_LastMethodSuccess() != true)
print rest.lastErrorText() + "\n";
exit
end
responseStatusCode = rest.get_ResponseStatusCode()
print "Response status code = " + responseStatusCode.to_s() + "\n";
if (responseStatusCode != 200)
print rest.responseHeader() + "\n";
print strResult + "\n";
print "Failed." + "\n";
exit
end
print strResult + "\n";
# The result contains XML like this:
# <?xml version="1.0" encoding="UTF-8"?>
# <LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">us-west-2</LocationConstraint>
# Get the "us-west-2" from the XML
xml = Chilkat::CkXml.new()
success = xml.LoadXml(strResult)
print "region = " + xml.content() + "\n";