Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implementación de DynamoDB localmente en la computadora
importante
El jar local de DynamoDB se puede descargar desde AWS CloudFront nuestros enlaces de distribución a los que se hace referencia aquí. A partir del 1 de enero de 2025, los antiguos buckets de distribución de S3 dejarán de estar activos y DynamoDB local se CloudFront distribuirá únicamente a través de enlaces de distribución.
Hay dos versiones principales de DynamoDB local disponibles: DynamoDB local v2.x (actual) y DynamoDB local v1.x (Legacy). Los clientes deben usar la versión 2.x (actual) siempre que sea posible, ya que es compatible con las versiones más recientes del entorno de ejecución de Java y es compatible con el espacio de nombres jakarta.* del proyecto Maven. DynamoDB local v1.x finalizará el soporte estándar a partir del 1 de enero de 2025. Después de esta fecha, la versión 1.x ya no recibirá actualizaciones ni correcciones de errores. |
nota
AWS_ACCESS_KEY_ID
de DynamoDB local solo puede contener letras (A-Z, a-z) y números (0-9).
Siga estos pasos para configurar y ejecutar DynamoDB en el ordenador.
Para configurar DynamoDB en su ordenador
-
Descargue DynamoDB local de forma gratuita desde una de las siguientes ubicaciones.
Enlaces de descarga Sumas de comprobación importante
Para ejecutar DynamoDB v2.3.0 o superior en su equipo, debe tener la versión 17.x o posterior de Java Runtime Environment (JRE). La aplicación no se ejecuta en versiones anteriores de JRE.
-
Después de descargar el archivo, extraiga el contenido y copie el directorio extraído en la ubicación que prefiera.
-
Para iniciar DynamoDB en el ordenador, abra una ventana del símbolo del sistema, vaya al directorio donde ha extraído
DynamoDBLocal.jar
e ingrese el comando siguiente.java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
nota
Si utiliza Windows PowerShell, asegúrese de incluir el nombre del parámetro o el nombre completo y el valor de la siguiente manera:
java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar
DynamoDB procesa las solicitudes entrantes hasta que lo detiene. Para detener DynamoDB, escriba Ctrl+C en la ventana del símbolo del sistema.
De manera predeterminada, DynamoDB usa el puerto 8000. Si el puerto 8000 no está disponible, este comando genera una excepción. Para obtener una lista completa de opciones de tiempo de ejecución de DynamoDB, incluida
-port
, ingrese este comando.java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help
-
Para poder acceder a DynamoDB mediante programación o a través de la AWS Command Line Interface (AWS CLI), debe configurar sus credenciales para habilitar la autorización para sus aplicaciones. DynamoDB descargable requiere cualquier credencial para funcionar, como se muestra en el siguiente ejemplo.
AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey" Default Region Name: "fakeRegion"
Puede utilizar el comando
aws configure
de la AWS CLI para configurar las credenciales. Para obtener más información, consulte Utilización del AWS CLI. -
Comience a escribir aplicaciones. Para acceder a DynamoDB que se ejecuta localmente con, utilice AWS CLI el parámetro.
--endpoint-url
Por ejemplo, utilice el siguiente comando para enumerar las tablas de DynamoDB.aws dynamodb list-tables --endpoint-url http://localhost:8000
La versión descargable de Amazon DynamoDB también está disponible como imagen de Docker. Para obtener más información, consulte dynamodb-local
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -version
Para ver un ejemplo del uso de DynamoDB local como parte de una aplicación REST basada en AWS SAM(), consulte AWS Serverless Application Model la aplicación SAM DynamoDB
Si desea ejecutar una aplicación multicontenedor que también utilice el contenedor local de DynamoDB, utilice Docker Compose para definir y ejecutar todos los servicios de la aplicación, incluido DynamoDB local.
Para instalar y ejecutar DynamoDB local con Docker Compose:
-
Descargue e instale Docker Desktop
. -
Copie el siguiente código en un archivo y guárdelo como
docker-compose.yml
.version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal
Si desea que su aplicación y DynamoDB local estén en contenedores independientes use el siguiente archivo yaml.
version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal app-node: depends_on: - dynamodb-local image: amazon/aws-cli container_name: app-node ports: - "8080:8080" environment: AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' command: dynamodb describe-limits --endpoint-url http://dynamodb-local:8000 --region us-west-2
Este script docker-compose.yml crea un contenedor
app-node
y un contenedordynamodb-local
. El script ejecuta un comando en el contenedorapp-node
que utiliza la AWS CLI para conectarse con el contenedordynamodb-local
y describe los límites de cuenta y tabla.Para usar con su propia imagen de aplicación, reemplace el valor
image
del ejemplo siguiente por el de su aplicación.version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal app-node: image:
location-of-your-dynamodb-demo-app:latest
container_name: app-node ports: - "8080:8080" depends_on: - "dynamodb-local" links: - "dynamodb-local" environment: AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' REGION: 'eu-west-1'nota
Los scripts YAML requieren que especifique una clave de AWS acceso y una clave AWS secreta, pero no es necesario que sean AWS claves válidas para acceder a DynamoDB local.
-
Ejecute el siguiente comando de línea de comandos:
docker-compose up
Siga estos pasos para usar Amazon DynamoDB en su aplicación como dependencia.
Para implementar DynamoDB como repositorio de Apache Maven
-
Descargue e instale Apache Maven. Para obtener más información, consulte Downloading Apache Maven
e Installing Apache Maven . -
Agregue el repositorio de Maven para DynamoDB al archivo POM (Project Object Model) de la aplicación.
<!--Dependency:--> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>2.3.0</version> </dependency> </dependencies>
Ejemplo de plantilla para usar con Spring Boot 3 o Spring Framework 6:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>SpringMavenDynamoDB</artifactId> <version>1.0-SNAPSHOT</version> <properties> <spring-boot.version>3.0.1</spring-boot.version> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.1</version> </parent> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>2.3.0</version> </dependency> <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- Spring Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- Spring Data JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- Other Spring dependencies --> <!-- Replace the version numbers with the desired version --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.0.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>6.0.0</version> </dependency> <!-- Add other Spring dependencies as needed --> <!-- Add any other dependencies your project requires --> </dependencies> </project>
nota
También puede usar la URL del repositorio central de Maven
.