Which Amazon Web Services might you need access to in Desktop or Web?

Hi everyone,

I needed access to SNS for a personal project and couldn’t quite figure out how to bend that into the MBS CURL S3 example, so I ended up writing some AWS classes in pure Xojo code. I have it working for SNS (sending SMS via Xojo!) and figured I should see what all services anyone else uses to test and get working before offering the code to the public.

The classes have the benefit of being pure Xojo code, however you have to (and I know this is hard for some) read the AWS Documentation to know what parameters you need. The classes take care of the authorization and signing of the HTTP POST request, and setting up the Xojo.Net.HTTPSocket, and waiting for a response.

I do plan to get an example for S3 working, so I’m looking specifically for requests on other services to make sure the classes work in general.

As a little teaser, look how easy it is to send a SMS with AWS SNS in Xojo!

[code]oReq = new clsAWSRequest
oReq.AWS_Access_Key = kAWS_ACCESS
oReq.AWS_Secret_Key = kAWS_SECRET

oReq.Endpoint = “sns.us-east-1.amazonaws.com
oReq.Region = “us-east-1”
oReq.Service = “sns”

oReq.Parameters.Value(“Action”) = “Publish”
oReq.Parameters.Value(“Message”) = “Test SMS from Xojo!”
oReq.Parameters.Value(“PhoneNumber”) = “+PHONENUMBER”

oReq.Send
[/code]

Is there a way to receive SMS messages back?

Looking into it, Amazon SNS only handles responses for when users are subscribing to a topic. It doesn’t appear to handle general back and forth. Other services may, but when I was looking at services, they all wanted my personal phone number to quote “verify I’m human” unquote. I don’t trust that at all. Twillo even argued with me that it wasn’t a procedure with their account creation until I sent them a screenshot. I went with SNS as I already had an AWS account for other uses, I trust Amazon, and it’s significantly cheaper than the other services.

@Tim Parnell once you have pushing to S3 sorted, it would be awesome to have invalidation of path in a CloudFront distribution too, that way a distribution that pulls from an S3 bucket can be told that an object in its path has just been overwritten and should be pushed out to the edges again.