好的,下面是我的设置和我想完成的任务的简要总结:
我有一个运行我的网站的rails 2.3.5服务器。我的网站上有一个flash应用程序,用户可以直接将图片上传到s3。
上传完成后,会通知rails。
在图像上传到s3并通知rails的时候,我希望rails发送一些post到ec2上的某个地方来创建两个缩略图(110x110和600x600)。
创建缩略图并将其传输到s3时,我希望ec2上的任何进程都向rails发送一个post,通知缩略图创建完成并在s3上。
实现这一目标的最佳方法是什么?我对knife等工具做了非常简短的介绍,但我对使用ec2或类似的服务一点也不熟悉。
谢谢
对于像我这样查过这个的人,AWS现在提供Lambda
这里有一个很好的演练,它完美地回答了这个问题,Handling Amazon S3 Events。我们的想法是让node.js包(Labmda)得到有关S3 Bucket事件(在我们的例子中创建的对象)的通知,获取上传的对象,调整其大小,最后将其保存到另一个Bucket中作为缩略图。由于您将拥有node.js应用程序,因此在保存缩略图之后,您基本上可以对任何需要的服务发出任何类型的请求。
我将使用的过程如下:
一旦图像上传到S3,rails就会得到通知,并向Amazon SQS队列添加一条消息(参见http://aws.amazon.com/sqs/)
在EC2上运行的后台进程检查队列并处理任何消息,生成缩略图
生成缩略图后,将使用Amazon SNS(请参见http://aws.amazon.com/sns/)发送通知,并由rails应用程序响应此通知
相关问题 更多 >
编程相关推荐