Implantar o DynamoDB localmente no computador - Amazon DynamoDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantar o DynamoDB localmente no computador

Importante

O jar local do DynamoDB pode ser baixado dos AWS CloudFront nossos links de distribuição referenciados aqui. A partir de 1º de janeiro de 2025, os antigos buckets de distribuição do S3 não estarão mais ativos e o DynamoDB local será distribuído somente por meio de links de distribuição. CloudFront

Há duas versões principais do DynamoDB local disponíveis: DynamoDB local v2.x (atual) e DynamoDB local v1.x (legado). Os clientes devem usar a versão 2.x (Atual) sempre que possível, pois ela suporta as versões mais recentes do Java Runtime Environment e é compatível com o namespace jakarta.* do projeto Maven. O DynamoDB local v1.x chegará ao fim do suporte padrão a partir de 1º de janeiro de 2025. Após essa data, a v1.x não receberá mais atualizações ou correções de erros.
nota

O DynamoDB local AWS_ACCESS_KEY_ID pode conter somente letras (A-Z, a-z) e números (0-9).

Siga estas etapas para configurar e executar o DynamoDB em seu computador.

Para configurar o DynamoDB em seu computador
  1. Baixe o DynamoDB local gratuitamente em um dos seguintes locais.

    Links para fazer download Somas de verificação

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    Importante

    Para executar o DynamoDB v2.3.0 ou superior em seu computador, você deve ter a versão 17.x ou mais recente do Java Runtime Environment (JRE). A aplicação não é executada em versões mais antigas do JRE.

  2. Depois de fazer download do arquivo, extraia o conteúdo e copie o diretório extraído para um local de sua escolha.

  3. Para iniciar o DynamoDB em seu computador, abra uma janela de prompt de comando, vá para o diretório onde você extraiu o arquivo DynamoDBLocal.jar e insira o comando seguir.

    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
    nota

    Se você estiver usando o Windows PowerShell, certifique-se de incluir o nome do parâmetro ou o nome e o valor completos desta forma:

    java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar

    O DynamoDB processa as solicitações de entrada até que você o interrompa. Para interromper o DynamoDB, pressione Ctrl+C no prompt de comando.

    O DynamoDB usa a porta 8000 por padrão. Se a porta 8000 estiver indisponível, este comando lançará uma exceção. Para obter uma lista completa das opções de tempo de execução do DynamoDB, incluindo -port, execute este comando.

    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help

  4. Para poder acessar o DynamoDB por programação ou via AWS Command Line Interface (AWS CLI), você deve configurar suas credenciais para habilitar a autorização para suas aplicações. O DynamoDB para download requer que todas as credenciais funcionem, conforme mostrado no exemplo a seguir.

    AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey" Default Region Name: "fakeRegion"

    Você pode usar o comando aws configure da AWS CLI para configurar credenciais. Para ter mais informações, consulte Como usar o AWS CLI.

  5. Comece a escrever aplicações. Para acessar o DynamoDB executado localmente com AWS CLI o, use o parâmetro. --endpoint-url Por exemplo, use o comando a seguir para listar as tabelas do DynamoDB.

    aws dynamodb list-tables --endpoint-url http://localhost:8000

A versão para download do Amazon DynamoDB está disponível como uma imagem do Docker. Para obter mais informações, consulte dynamodb-local. Para ver sua versão local atual do DynamoDB, digite o seguinte comando:

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -version

Para ver um exemplo de uso do DynamoDB local como parte de um aplicativo REST criado no AWS SAM(), consulte AWS Serverless Application Model o aplicativo SAM DynamoDB para gerenciar pedidos. Esta aplicação de exemplo demonstra como usar o DynamoDB local para testes.

Se você quiser executar uma aplicação de vários contêineres que também use o contêiner local do DynamoDB, use o Docker Compose para definir e executar todos os serviços em sua aplicação, incluindo o DynamoDB local.

Para instalar e executar o DynamoDB local com o Docker Compose:
  1. Baixe e instale a área de trabalho do Docker.

  2. Copie o código a seguir em um arquivo e salve-o 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

    Se desejar que sua aplicação e o DynamoDB local estejam em contêineres separados, use o arquivo yaml a seguir.

    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 cria um contêiner app-node e um contêiner dynamodb-local. O script executa um comando no contêiner app-node que usa a AWS CLI para se conectar ao contêiner dynamodb-local e descreve os limites da conta e da tabela.

    Para usar com sua própria imagem de aplicação, substitua o valor image no exemplo abaixo pelo valor da sua aplicação.

    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

    Os scripts YAML exigem que você especifique uma chave de AWS acesso e uma chave AWS secreta, mas não precisam ser AWS chaves válidas para você acessar o DynamoDB local.

  3. Execute o seguinte comando a linha de comando:

    docker-compose up

Siga estas etapas para usar o Amazon DynamoDB em sua aplicação como uma dependência.

Para implantar o DynamoDB como um repositório do Apache Maven
  1. Faça download do Apache Maven e instale-o. Para obter mais informações, consulte Download do Apache Maven e Instalação do Apache Maven.

  2. Adicione o repositório Maven do DynamoDB ao arquivo Project Object Model (POM) da sua aplicação.

    <!--Dependency:--> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>2.3.0</version> </dependency> </dependencies>

    Exemplo de modelo para uso com o Spring Boot 3 e/ou 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

    Também é possível usar o URL do repositório central do Maven.

Para ver um exemplo de um projeto de amostra que mostra várias abordagens para configurar e usar o DynamoDB local, incluindo baixar arquivos JAR, executá-los como uma imagem do Docker e usá-los como uma dependência do Maven, consulte Projeto Java de amostra local do DynamoDB.