18

単体テストなどのために独自のサーバーで実行できる Amazon S3 互換のテスト サーバーについて読んだことを思い出したようです。ただし、Google と AWS の両方でこれを探すのに忍耐を使い果たしました。そのようなものは存在しますか?そうでなければ、私はそれを書くと思います。

注: Amazon EC2 (クラウド コンピューティング) ではなく、Amazon S3 (ストレージ システム) について質問しています。

4

7 に答える 7

7

パークプレイスを考えていますか?

参考までに、その古いホームページは現在オフラインです。

于 2008-09-18T22:10:02.990 に答える
4

moto ( https://github.com/spulec/moto ) は単体テストに最適なツールだと思います。Moto は、S3、SQS などへのすべてのアクセスをモックし、Web サーバーを使用して任意のプログラミング言語で使用できます。

セットアップは簡単で、軽量で高速です。

moto の README から:

テストしたい次のコードがあるとします。

import boto
from boto.s3.key import Key

class MyModel(object):
    def __init__(self, name, value):
        self.name = name
        self.value = value

    def save(self):
        conn = boto.connect_s3()
        bucket = conn.get_bucket('mybucket')
        k = Key(bucket)
        k.key = self.name
        k.set_contents_from_string(self.value)

過去にそれをどのようにテストしたかを考えてみてください。Moto でテストする方法を見てみましょう。

import boto
from moto import mock_s3
from mymodule import MyModel

@mock_s3
def test_my_model_save():
    model_instance = MyModel('steve', 'is awesome')
    model_instance.save()

    conn = boto.connect_s3()
    assert conn.get_bucket('mybucket').get_key('steve') == 'is awesome'
于 2013-05-18T17:47:37.677 に答える
2

Park Place は github に移動しました: http://github.com/technoweenie/parkplace

于 2009-02-13T19:13:41.660 に答える
1

偽の S3は、特にテスト用に設計された S3 の最新の再実装のようです。

于 2012-04-18T20:06:38.157 に答える
1

ユーカリ http://eucalyptus.cs.ucsb.edu/

EUCALYPTUS - プログラムを有用なシステムにリンクするための Elastic Utility Computing Architecture - は、クラスターに「クラウド コンピューティング」を実装するためのオープンソース ソフトウェア インフラストラクチャです。EUCALYPTUS への現在のインターフェイスは Amazon の EC2 インターフェイスと互換性がありますが、インフラストラクチャは複数のクライアント側インターフェイスをサポートするように設計されています。

ドキュメントによると、Eucalypus には EC2 インターフェイスだけでなく、S3 ストレージ システムの再実装も含まれていることに注意してください。そのストレージ コンポーネントは Walrus と呼ばれます。( http://open.eucalyptus.com/wiki/EucalyptusUserGuide_v1.5.2 )

于 2008-09-18T10:45:06.960 に答える
1

S3 ベースのコードをローカルでテストする際に問題が発生し、S3 オブジェクト API をエミュレートする小さな Java サーバーを実際に実装しました。他の人にとって役立つかもしれないので、小さなウェブサイトと一緒に github リポジトリをセットアップします: http://s3ninja.net - すべて MIT ライセンスの下でオープンソースです。

非常に小さくてシンプルで、数分でセットアップできます。( SIRIUSベースのアプリケーションであるため、中程度のサーバーでの起動には 1 秒もかかりません)。

于 2013-09-02T11:41:57.473 に答える
-3

Amazon は Xen を使用しているため、おそらく独自の Xen インストールで AMI を実行できます。ただし、インスタンスを起動してそこでテストを実行するだけです。それほど費用はかからず、通常はローカルで開発し、システムでまれにテストするだけで問題ありません。

于 2008-09-18T10:27:33.553 に答える