Implementación de DynamoDB localmente en la computadora - Amazon DynamoDB

Implementación de DynamoDB localmente en la computadora

DynamoDB local se proporciona como un archivo .jar ejecutable. La aplicación se ejecuta en Windows, Linux, macOS y otras plataformas compatibles con Java.

nota
  • La versión 2.0.0 de DynamoDB local y versiones posteriores admiten el espacio de nombres jakarta.*. Si tiene requisitos de aplicación que utilicen el espacio de nombres javax.* en las clases de Java, utilice la versión 1.20 de DynamoDB local y versiones posteriores.

  • 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 la versión 1.x de DynamoDB en el equipo.

nota

Se requiere DynamoDB local v1.20 y versiones posteriores para su uso en los procesadores Apple M1 y más recientes. La versión 1.x de DynamoDB local admite el espacio de nombres javax.*. Si tiene requisitos de aplicación que utilicen el espacio de nombres jakarta.* en las clases de Java, utilice la versión 2.0.0 de DynamoDB local y versiones posteriores.

Para configurar la versión 1.x de DynamoDB en el equipo
  1. Descargue la versión 1.x de DynamoDB local gratis desde una de las siguientes ubicaciones.

    Enlaces de descarga Sumas de comprobación

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    DynamoDB también está disponible como parte de AWS Toolkit for Eclipse. Para obtener más información, consulte AWS Toolkit for Eclipse.

    importante

    Para ejecutar DynamoDB en su ordenador, debe disponer de Java Runtime Environment (JRE) versión 8.x o posterior. La aplicación no se ejecuta en versiones anteriores de JRE.

  2. Después de descargar el archivo, extraiga el contenido y copie el directorio extraído en la ubicación que prefiera.

  3. 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 delimitar el nombre del parámetro o todo el nombre y el valor del siguiente modo:

    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

  4. 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.

    importante

    AWS_ACCESS_KEY_ID de la versión 1.23.0 y posteriores de DynamoDB local solo puede contener letras (A-Z, a-z) y números (0-9).

    AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey"

    Puede utilizar el comando aws configure de la AWS CLI para configurar las credenciales. Para obtener más información, consulte Utilización de la AWS CLI.

  5. Comience a escribir aplicaciones. Para acceder a DynamoDB ejecutado localmente con la AWS CLI, use 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

Siga estos pasos para configurar y ejecutar la versión 2.x de DynamoDB en el equipo.

nota

Se requiere DynamoDB local v1.20 y versiones posteriores para su uso en los procesadores Apple M1 y más recientes. La versión 2.0.0 de DynamoDB local y versiones posteriores admiten el espacio de nombres jakarta.*. Si tiene requisitos de aplicación que utilicen el espacio de nombres javax.* en las clases de Java, utilice la versión 1.20 de DynamoDB local y versiones posteriores.

Para configurar la versión 2.x de DynamoDB en el equipo
  1. Descargue la versión 2.x de DynamoDB local gratis desde una de las siguientes ubicaciones.

    Enlaces de descarga Sumas de comprobación

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    DynamoDB también está disponible como parte de AWS Toolkit for Eclipse. Para obtener más información, consulte AWS Toolkit for Eclipse.

    importante

    Para ejecutar la versión 2.0.0 de DynamoDB en el equipo, debe disponer de Entorno de ejecución de Java (JRE) versión 11.x o posterior. La aplicación no se ejecuta en versiones anteriores de JRE.

  2. Después de descargar el archivo, extraiga el contenido y copie el directorio extraído en la ubicación que prefiera.

  3. 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 delimitar el nombre del parámetro o todo el nombre y el valor del siguiente modo:

    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

  4. 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.

    importante

    AWS_ACCESS_KEY_ID de la versión 2.0.0 y posteriores de DynamoDB local solo puede contener letras (A-Z, a-z) y números (0-9).

    AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey"

    Puede utilizar el comando aws configure de la AWS CLI para configurar las credenciales. Para obtener más información, consulte Utilización de la AWS CLI.

  5. Comience a escribir aplicaciones. Para acceder a DynamoDB ejecutado localmente con la AWS CLI, use 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.

Para ver un ejemplo del uso de DynamoDB local como parte de una aplicación REST construida en AWS Serverless Application Model (AWS SAM), consulte Aplicación DynamoDB de SAM para administración de pedidos. Esta aplicación de ejemplo demuestra cómo utilizar DynamoDB local para pruebas.

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:
  1. Descargue e instale Docker Desktop.

  2. 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 contenedor dynamodb-local. El script ejecuta un comando en el contenedor app-node que utiliza la AWS CLI para conectarse con el contenedor dynamodb-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 de YAML requieren que especifique una clave de acceso de AWS y una clave secreta de AWS, pero no se requiere que sean claves de AWS válidas para que pueda acceder a DynamoDB local.

  3. 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 v1.x como repositorio de Apache Maven
  1. Descargue e instale Apache Maven. Para obtener más información, consulte Downloading Apache Maven e Installing Apache Maven.

  2. 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>1.24.0</version> </dependency> </dependencies>
    nota
    • También puede usar la URL del repositorio central de Maven.

    • La versión 1.x de DynamoDB local admite el espacio de nombres javax.*. Si tiene requisitos de aplicación que utilicen el espacio de nombres jakarta.* en las clases de Java, utilice la versión 2.0.0 de DynamoDB local y versiones posteriores.

Siga estos pasos para usar Amazon DynamoDB en su aplicación como dependencia.

Para implementar DynamoDB v2.x como repositorio de Apache Maven
  1. Descargue e instale Apache Maven. Para obtener más información, consulte Downloading Apache Maven e Installing Apache Maven.

  2. 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.1.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.0.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.

    • La versión 2.0.0 de DynamoDB local y versiones posteriores admiten el espacio de nombres jakarta.*. Si tiene requisitos de aplicación que utilicen el espacio de nombres javax.* en las clases de Java, utilice la versión 1.20 de DynamoDB local y versiones posteriores.