Sample code for 30+ languages & platforms
Lianja

S3 Find Bucket Region

See more Amazon S3 (new) Examples

Demonstrates how to find out the region of an S3 bucket.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loRest = createobject("CkRest")

// Connect to the Amazon AWS REST server using the correct region (in this example, "us-west-2")
llBTls = .T.
lnPort = 443
llBAutoReconnect = .T.
llSuccess = loRest.Connect("s3.amazonaws.com",lnPort,llBTls,llBAutoReconnect)

// Provide AWS credentials for the REST call.
loAuthAws = createobject("CkAuthAws")
loAuthAws.AccessKey = "AWS_ACCESS_KEY"
loAuthAws.SecretKey = "AWS_SECRET_KEY"
loAuthAws.ServiceName = "s3"
llSuccess = loRest.SetAuthAws(loAuthAws)

// 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.
loRest.Host = "chilkat.qa.s3.amazonaws.com"

// Send the GET request to query the bucket location.
lcStrResult = loRest.FullRequestNoBody("GET","/?location")
if (loRest.LastMethodSuccess <> .T.) then
    ? loRest.LastErrorText
    release loRest
    release loAuthAws
    return
endif

lnResponseStatusCode = loRest.ResponseStatusCode
? "Response status code = " + str(lnResponseStatusCode)
if (lnResponseStatusCode <> 200) then
    ? loRest.ResponseHeader
    ? lcStrResult
    ? "Failed."
    release loRest
    release loAuthAws
    return
endif

? lcStrResult

// 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
loXml = createobject("CkXml")
llSuccess = loXml.LoadXml(lcStrResult)
? "region = " + loXml.Content


release loRest
release loAuthAws
release loXml