Background: All of our product images are hosted on Amazon S3. Magento is going to be hosted in a load balance / multiple instance Docker setup. The hosting environment is only going to provide the needed processor and storage power to run the magento PHP. The Database and downloadable content / product images are going to be hosted on their own cloud based platforms, maximizing performance and vastly improving up-time.
I want to stress this is going to be a DISTRIBUTED setup. There just isn't an actual way to host the images on what would normally be a random linux VM or "LAMP" machine. To do so would break the entire concept.
Problem: I have set the base URL for media to the correct 'base' on S3. I am attempting to create products using the REST API. I've looked at the code for saving images and it seems like one is forced to include the base64 version of the image in the 'content' property. This seems counter intuitive, since uploading the images to the Magento hosting environment is what we are trying to avoid.
Also, the links to the images include the cache component, size, etc. I understand specifying the size, but the unique ID for the cache is not provided when pulling a product using REST, only C/o/Computer.gif in the File property. I would like to disable this cache id. It is adding complexity.
Example URL that Magento expects an image to be located. http://assets.nursingsociety.org.s3.amazonaws.com/catalog/product/cache/1/small_image/240x300/beff4985b56e3afdbeabfc89641a4582/C/o/Computer.png
I'm not opposed to creating a module to eliminate this problem, but I'd like to see if it can be done just using Magento alone. Back to google I go....
EDIT: I've found something that might be a solution... Moving the magento media directory to S3... http://thinkglobal.co/resources/moving-the-magento-media-directory-to-s3/