Update: Seems not be working on the web, sure it’s some crossdomain issue so I’ll try to access to a budget ( since you cannot put a crossdomain.xml policy file on your Amazon’s root folder ) and I’ll update this post then
Static and dynamic website objects ( SWF, mp3, images, etc…) are high bandwith consumers, especially dynamic ones liek SWFs due to development issues. If our bandwidth gets collapsed people will take a long time to see our website or even do not come to see it.
One solution to this problem is to move all these items to Amazon S3 which provides a very good service at low cost.
There is a library in google code (as3awss3lib) I could not get to run, probably because they need the AIR libraries and my intention was to use the core Flex libraries only. So I decided to investigate how the Amazon S3 API works, and then tried to access this API using HttpService. If you have tried the same thing you’ve found that not HttpService do not allow custom headers (even if AIR lets you), so I tried to find other ways to put my own headers in httpService, My attempt was to create a connection with the Socket object but soon I found this library (as3httpclientlib) on google code work done and I only had to worry about the connection.
Here is an example of a simple application ( Having some Security Sandbox Issues, I’ll check the policies but totally works on localĀ ):
[SWF]wp-blogfiles/Flex_Amazon.swf, 512, 335[/SWF]
And the code (to compile this code you will need these libraries: as3httpclientlib and as3crypto):
Related posts:

Xavi did you every get this going? You can serve a crossdomain.xml file from the root of an s3 account but as3httpclientlib needs the goofy policy file served via 843 or the root of the target machine but I'm not sure if that target machine can be http? I'm trying to use a flash app to push images to S3 but not having much luck.