Lianja
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
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