在开发期间模拟Amazon SQS

时间:2010-02-25 18:08:00

标签: amazon-web-services amazon-sqs

我对开始使用Amazon SQS开发一些开发很感兴趣,也许是SimpleDB,我的问题是,是否存在任何模仿功能的开源解决方案,仅用于开发目的。我已经遇到了用于创建EC式云的Eucalyptus项目(http://open.eucalyptus.com)。

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

7 个答案:

答案 0 :(得分:83)

对于SQS,我编写了ElasticMQ,你可以运行嵌入式(用Scala编写,所以在JVM上运行)或独立运行。它具有持久性和内存模式,第一种适用于开发,第二种适用于测试。

答案 1 :(得分:33)

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

  

模拟服务是另一种方式   使用示例代码。服务   不会调用AWS,而是返回   您可以修改的设置响应   适合您的需求(XML响应   文件在Mock目录中)。该   模拟服务让您轻松上手   测试应用程序的处理方式   不同的回应。

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

Java SDK不包含模拟实现:

  

客户端模拟实现已被删除。相反,开发人员   鼓励使用更灵活,功能齐全的模拟库,   例如EasyMockjMock

如果您将使用的SDK没有可用的模拟模式,您可能会创建自己的类似物品,它会返回预先配置的响应,而不是实际点击服务。

See here了解更多信息

答案 2 :(得分:12)

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

  

客户端模拟实现已被删除。相反,开发人员   鼓励使用更灵活,功能齐全的模拟库,   例如EasyMockjMock

答案 3 :(得分:9)

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

答案 4 :(得分:3)

如果您使用的是.NET或Mono,则可以尝试Stratosphere。它具有模仿SimpleDB,SQS和S3的本地实现。对于SimpleDB模拟实现,它使用SQLite,对于SQS和S3,它将消息/对象存储在文件系统中。

答案 5 :(得分:1)

如果您需要模拟SNS和SQS,可以查看:Yopa

答案 6 :(得分:1)

如果您需要的测试双倍不仅仅是SQS,您可以尝试LocalStack

为了模拟SQS,它在内部使用adamw的ElasticMQ mentioned

例如,您可以通过Docker启动LocalStack,它将启动以下服务: