Go
Go
S3 Find Bucket Region
See more Amazon S3 (new) Examples
Demonstrates how to find out the region of an S3 bucket.Chilkat Go Downloads
success := false
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest := chilkat.NewRest()
// 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.NewAuthAws()
authAws.SetAccessKey("AWS_ACCESS_KEY")
authAws.SetSecretKey("AWS_SECRET_KEY")
authAws.SetServiceName("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.SetHost("chilkat.qa.s3.amazonaws.com")
// Send the GET request to query the bucket location.
strResult := rest.FullRequestNoBody("GET","/?location")
if rest.LastMethodSuccess() != true {
fmt.Println(rest.LastErrorText())
rest.DisposeRest()
authAws.DisposeAuthAws()
return
}
responseStatusCode := rest.ResponseStatusCode()
fmt.Println("Response status code = ", responseStatusCode)
if responseStatusCode != 200 {
fmt.Println(rest.ResponseHeader())
fmt.Println(*strResult)
fmt.Println("Failed.")
rest.DisposeRest()
authAws.DisposeAuthAws()
return
}
fmt.Println(*strResult)
// 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.NewXml()
success = xml.LoadXml(*strResult)
fmt.Println("region = ", xml.Content())
rest.DisposeRest()
authAws.DisposeAuthAws()
xml.DisposeXml()