web-dev-qa-db-ja.com

開発中にAmazon SQSをエミュレートする

Amazon SQS、おそらくSimpleDBを使用した開発を開始することに非常に興味があります。私の質問は、開発目的のためだけに機能を模倣するオープンソースソリューションがあるかどうかです。 EC風のクラウドを作成するためのEucalyptusプロジェクト( http://open.eucalyptus.com )に既に遭遇しました。

私はグーグルで成功していません。エントリーの費用がとても安いからだと思いますが、それでも誰かがこのようなことを知っていますか?

51
Derek Mortimer

一部のAmazon SDKには「モック」モードがあります。

モックサービスは、サンプルコードを使用する別の方法です。このサービスはAWSを呼び出しませんが、代わりにニーズに合わせて変更できる応答セットを返します(XML応答ファイルはMockディレクトリにあります)。モックサービスを使用すると、アプリケーションがさまざまな応答を処理する方法を簡単にテストできます。

SQSの場合、Perlが表示され、PHP SDKにはモックモードがあります。AmazonRDSの.NET SDKにもモックモードがあることがわかります。

Java SDKにはモック実装が含まれていません。

クライアントのモック実装は削除されました。代わりに、開発者は EasyMockjMock などの、より柔軟でフル機能のモックライブラリを使用することをお勧めします。

使用するSDKに使用可能なモックモードがない場合は、実際にサービスを起動する代わりに、事前に構成された応答を返す独自の同様のタイプのものを作成できます。

こちらを参照 詳細情報

34
BigJoe714

SQSについては ElasticMQ を記述しました。これは組み込み(Scalaで記述されているため、JVM上で実行されます)またはスタンドアロンで実行できます。永続モードとメモリ内モードの両方があり、1つ目は開発者に、2つ目はテストに適しています。

87
adamw

Java SDKについては、モックの実装は含まれなくなりました。

クライアントのモックの実装は削除されました。代わりに、開発者は EasyMockjMock などの、より柔軟でフル機能のモックライブラリを使用することをお勧めします。

12
tkotisis

GoAws- https://github.com/p4tin/goaws -ベータ版としてリリースされました。 (免責事項-私は開発者です)。

10
Paul A. Fortin

SQSだけではなくテストダブルが必要な場合は、 LocalStack を試すことができます。

SQSをシミュレートするために、内部でElasticMQ 言及 adamwを使用します。

たとえば、Dockerを介してLocalStackを起動すると、次のサービスが開始されます。

4
Mifeet

.NETまたはMonoを使用している場合は、 Stratosphere を試すことができます。 SimpleDB、SQS、S3を模倣したローカル実装があります。 SimpleDBモックの実装ではSQLiteを使用し、SQSおよびS3ではメッセージ/オブジェクトをファイルシステムに保存します。

3
Peter Hizalev

sNSとSQSをシミュレートする必要がある場合は、チェックアウトできます。 Yopa

1
Paul A. Fortin