amazon web services - descargar - ¿Puedes ejecutar una copia local de AWS DynamoDB de alguna manera?
descargar key pair aws (7)
Si desea escribir código para usar AWS DynamoDB, ¿hay alguna forma de ejecutarlo en su entorno de desarrollo local? ¿O tienes que usar el producto real?
¿Debe aprovisionar un entorno de desarrollo en AWS? ¿No es molesto porque tendrías que trabajar con vim y no tener acceso a tu IDE favorito? ¿O tiene que presionar el código cada vez que quiera ver si funciona lo que escribió?
Sí, puedes ejecutarlo y te recomendaría usar jcabi-dynamodb-maven-plugin
para automatizar este proceso (si estás usando Apache Maven).
Mira esta publicación: http://www.yegor256.com/2014/05/01/dynamodb-local-maven-plugin.html
Ciertamente hay maneras de probar su código sin usar DynamoDB.
Personalmente utilizo los simulacros de Mockito para simular respuestas del servicio en mi prueba de unidad.
Si desea un servidor "local" con fines de experimentación más allá de las pruebas unitarias, existen algunas implementaciones de código abierto mantenidas por la comunidad, por ejemplo, Alternador para Java AWS enumera algunas aquí :
Sí, puedes ahora.
http://aws.typepad.com/aws/2013/09/dynamodb-local-for-desktop-development.html http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.html
Las advertencias incluyen:
- DynamoDB Local ignora la configuración de rendimiento aprovisionado
- DynamoDB Local no tiene un SLA de durabilidad o disponibilidad y no se recomienda para uso en producción
DynamoDB Local tiene varios defectos de paridad de producción, hay una implementación local de código abierto alternativa que intenta hacer coincidir la API en vivo más llamada ''dynalita'' disponible en https://github.com/mhart/dynalite .
Si puede extraer de un repositorio de Maven y está utilizando un lenguaje basado en JVM, ahora puede ejecutarlo en el mismo proceso :
<!--Dependency:-->
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>DynamoDBLocal</artifactId>
<version>1.10.5.1</version>
</dependency>
</dependencies>
<!--Custom repository:-->
<repositories>
<repository>
<id>dynamodb-local</id>
<name>DynamoDB Local Release Repository</name>
<url>http://dynamodb-local.s3-website-us-west-2.amazonaws.com/release</url>
</repository>
</repositories>
Y aquí hay un ejemplo tomado del repositorio de Github awslabs / aws-dynamodb-examples :
AmazonDynamoDB dynamodb = null;
try {
// Create an in-memory and in-process instance of DynamoDB Local that skips HTTP
dynamodb = DynamoDBEmbedded.create();
// use the DynamoDB API with DynamoDBEmbedded
listTables(dynamodb.listTables(), "DynamoDB Embedded");
} finally {
// Shutdown the thread pools in DynamoDB Local / Embedded
if(dynamodb != null) {
dynamodb.shutdown();
}
}
// Create an in-memory and in-process instance of DynamoDB Local that runs over HTTP
final String[] localArgs = { "-inMemory" };
DynamoDBProxyServer server = null;
try {
server = ServerRunner.createServerFromCommandLineArgs(localArgs);
server.start();
dynamodb = new AmazonDynamoDBClient();
dynamodb.setEndpoint("http://localhost:8000");
// use the DynamoDB API over HTTP
listTables(dynamodb.listTables(), "DynamoDB Local over HTTP");
} finally {
// Stop the DynamoDB Local endpoint
if(server != null) {
server.stop();
}
}
Hay una versión ligera de DynamoDB que se puede ejecutar localmente, ver:
https://aws.amazon.com/blogs/aws/dynamodb-local-for-desktop-development/
Me resultó un poco doloroso recordar todos los pasos de configuración, así que también creé una imagen Docker que lo envuelve, lo que significa que también puedes ejecutar DynamoDB Local con este comando:
# Run DynamoDB
docker run -p 8000:8000 dwmkerr/dynamodb
# Open the shell to show it''s working!
open http://localhost:8000/shell
La imagen de Docker está disponible en:
En MacOS puedes instalarlo y ejecutarlo como un servicio en segundo plano usando brew:
Descarga Brew si no lo tienes:
Brew es un administrador de paquetes para MacOS
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
Instala DynamoDB Local usando Brew:
brew install dynamodb-local
Ejecute DynamoDB como un servicio local:
Esto asegurará que DynamoDB local se inicie cuando reinicie su máquina.
brew services start dynamodb-local
Ejecute DynamoDB Local como una única vez:
Este método ejecutará DynamoDB local una vez. Tendrá que volver a ejecutar esto al reiniciar.
/usr/local/bin/dynamodb-local
A continuación, puede golpear dynamoDB en un shell desde su navegador:
http://localhost:8000/shell/
Puede interactuar con su DynamoDB usando Javascript.
Vea este artículo para obtener una explicación más detallada de cómo ejecutar localmente una instancia de AWS DynamoDB