在开发过程中模拟Amazon SQS

我对开始使用Amazon SQS进行开发很有兴趣,也许是SimpleDB,我的问题是,是否有任何开源解决scheme模仿function,只是为了开发的目的。 我已经遇到了Eucalyptus项目( http://open.eucalyptus.com ),用于创buildEC-esque云。

我还没有取得任何成功的谷歌,我怀疑这是因为进入的成本是如此便宜,但仍然有人知道这样的事情?

一些亚马逊SDK有“模拟”模式,即:

模拟服务是使用示例代码的替代方法。 该服务不会调用AWS,而是返回一个您可以修改以满足您的需求的设置响应(XML响应文件位于Mock目录中)。 模拟服务使您可以轻松testing应用程序如何处理不同的响应。

对于SQS,似乎Perl和PHP SDK具有模拟模式。 我知道Amazon RDS的.NET SDK也具有模拟模式。

Java SDK不包含模拟实现:

客户端模拟实现已被删除。 相反,鼓励开发人员使用更灵活,function更全面的模拟库,例如EasyMock , jMock

如果您将使用的SDK没有可用的模拟模式,那么您可以创build自己的相似types的事件,它将返回预先configuration的响应,而不是实际触发服务。

在这里看到更多的信息

对于SQS,我写了ElasticMQ ,你可以运行embedded式(它是用Scala编写的,所以可以在JVM上运行),也可以独立运行。 它具有持久性和内存模式,第一个对开发有好处,第二个对testing有帮助。

关于Java SDK,它不再包含模拟实现:

客户端模拟实现已被删除。 相反,鼓励开发人员使用更灵活,function更全面的模拟库,例如EasyMock , jMock

GoAws – https://github.com/p4tin/goaws – 刚刚发布为testing版。 (免责声明 – 我是开发人员)。

如果你在.NET或者单声道,你可以试试平stream层 。 它具有模拟SimpleDB,SQS和S3的本地实现。 对于SimpleDB模拟实现,它使用SQLite,对于SQS和S3,它将消息/对象存储在文件系统中。

如果你需要模拟SNS以及SQS你可以看看: Yopa