servidor stub Amazon S3 standalone
-
01-07-2019 - |
Pergunta
Eu pareço leitura recall de cerca de um servidor de teste Amazon S3-compatível que você pode executar em seu próprio servidor para testes de unidade ou o que quer. No entanto, eu só esgotado a paciência procurando isso com o Google e AWS. Será que tal coisa existe? Se não, eu acho que eu vou escrever um.
Nota:. Eu estou perguntando sobre Amazon S3 (o sistema de armazenamento), em vez de Amazon EC2 (computação em nuvem)
Solução
Você está pensando em Park Place ?
FYI, o seu velho home page Agora está offline.
Outras dicas
Eu acho moto ( https://github.com/spulec/moto ) é a ferramenta perfeita para seus UnitTests. Moto simulações todos os acessos a S3, SQS, etc. e pode ser usado em qualquer linguagem de programação usando seu servidor web.
É trivial de configurar, leve e rápido.
De README de moto:
Imagine que você tenha o seguinte código que pretende testar:
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)
Tome um minuto para pensar como você teria testado que no passado. Agora veja como você pode testá-lo com 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'
Park Place mudou-se para github: http://github.com/technoweenie/parkplace
Eucalyptus http://eucalyptus.cs.ucsb.edu/
EUCALIPTO - Elastic Utility Computing Arquitetura para a ligação de sua Programs Para úteis Systems - é um open-source infra-estrutura de software para implementação de "computação em nuvem" na clusters. A interface atual para O eucalipto é compatível com o da Amazon interface do EC2, mas a infra-estrutura é projetado para suportar múltiplos as interfaces do lado do cliente.
Note que, de acordo com a documentação, eucalipto inclui a reimplementação não só da interface EC2, mas também o sistema de armazenamento S3. Esse componente de armazenamento é chamado Walrus. ( http://open.eucalyptus.com/wiki/EucalyptusUserGuide_v1.5.2 )
Falso S3 ser uma reimplementação up-to-date de S3, projetado especificamente para uso em testes.
Nós correu para o problema de testar o nosso código base S3 localmente e realmente implementado um servidor Java pequeno, que emula o objeto API S3. Como ele pode ser útil para os outros, a configuração que um repo github, juntamente com um pequeno site: http://s3ninja.net - todos OpenSource sob a licença MIT.
É muito pequena e simples e pode ser configurado em minutos. (Sendo uma aplicação SIRIUS base, statup no servidor moderada leva menos de um segundo).
Amazon usa Xen, então você provavelmente só pode executar o seu AMI na sua própria instalação Xen. Eu tinha acabado de acender uma instância e executar os testes lá, no entanto. Não custa muito e normalmente você deve estar bem com o desenvolvimento local e raramente testá-lo em seu sistema.