Distribuzione di DynamoDB in locale sul computer - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Distribuzione di DynamoDB in locale sul computer

Importante

Il jar locale di DynamoDB può essere scaricato dai AWS CloudFront nostri link di distribuzione a cui si fa riferimento qui. A partire dal 1° gennaio 2025, i vecchi bucket di distribuzione S3 non saranno più attivi e DynamoDB locale verrà distribuito solo tramite link di distribuzione. CloudFront

Sono disponibili due versioni principali di DynamoDB locale: DynamoDB local v2.x (Current) e DynamoDB local v1.x (Legacy). I clienti devono utilizzare la versione 2.x (Current) quando possibile, poiché supporta le versioni più recenti di Java Runtime Environment ed è compatibile con lo spazio dei nomi jakarta.* per il progetto Maven. La versione 1.x locale di DynamoDB raggiungerà la fine del supporto standard a partire dal 1° gennaio 2025. Dopo questa data, la v1.x non riceverà più aggiornamenti o correzioni di bug.
Nota

DynamoDB local AWS_ACCESS_KEY_ID può contenere solo lettere (A–Z, a–z) e numeri (0-9).

Completare la procedura riportata di seguito per configurare ed eseguire DynamoDB sul proprio computer.

Come configurare DynamoDB sul computer
  1. Scarica DynamoDB local gratuitamente da una delle seguenti posizioni.

    Collegamenti per il download Checksum

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    Importante

    Per eseguire DynamoDB v2.3.0 o superiore sul computer, è necessario disporre della versione 17.x o successiva di Java Runtime Environment (JRE). L'applicazione non verrà eseguita nelle versioni di JRE precedenti.

  2. Dopo aver scaricato l'archivio, estrai i contenuti e copia la directory estratta in una ubicazione a scelta.

  3. Per avviare DynamoDB sul computer, aprire una finestra del prompt dei comandi, spostarsi nella directory in cui è stato estratto DynamoDBLocal.jar, quindi immettere il comando seguente.

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

    Se utilizzi Windows PowerShell, assicurati di includere il nome del parametro o l'intero nome e valore in questo modo:

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

    DynamoDB esegue le richieste in arrivo fino al suo arresto. Per arrestare DynamoDB, digitare Ctrl+C al prompt dei comandi.

    DynamoDB utilizza la porta 8000 per impostazione predefinita. Se la porta 8000 non è disponibile, il comando genera un'eccezione. Per un elenco completo delle opzioni di runtime di DynamoDB, incluso -port, immettere il comando seguente.

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

  4. Prima di poter accedere a AWS Command Line Interface in modo programmatico o tramite (AWS CLI), è necessario configurare le credenziali per abilitare l'autorizzazione per le applicazioni. Perché possa funzionare, la versione scaricabile di DynamoDB richiede le credenziali, come mostrato nell'esempio seguente.

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

    È possibile utilizzare il comando aws configure di AWS CLI per impostare le credenziali. Per ulteriori informazioni, consulta Utilizzo di AWS CLI.

  5. Inizia a scrivere le applicazioni. Per accedere a DynamoDB in esecuzione localmente con, utilizzare AWS CLI il parametro. --endpoint-url Ad esempio, per elencare le tabelle DynamoDB utilizzare il seguente comando:

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

La versione scaricabile di Amazon DynamoDB è disponibile come parte dell'immagine Docker. Per ulteriori informazioni, consulta dynamodb-local. Per visualizzare la versione locale corrente di DynamoDB, immettete il seguente comando:

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

Per un esempio di utilizzo di DynamoDB local come parte di un'applicazione REST basata su AWS SAM(), consulta Applicazione SAM DynamoDB per AWS Serverless Application Model la gestione degli ordini. Questa applicazione di esempio mostra come utilizzare DynamoDB locale per i test.

Se desideri eseguire un'applicazione multi-container che utilizza anche il container DynamoDB Local, utilizza Docker Compose per definire ed eseguire tutti i servizi nell'applicazione, incluso DynamoDB Local.

Per installare ed eseguire DynamoDB in locale con Docker Compose:
  1. Scarica e installa Docker Desktop.

  2. Copiare il codice seguente in un file e salvarlo con nome 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 vuoi che l'applicazione e DynamoDB locale si trovino in container separati, utilizza il file yaml seguente.

    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

    Lo script docker-compose.yml crea un container app-node e un container dynamodb-local. Lo script esegue un comando nel container app-node che utilizza la AWS CLI per connettersi al container dynamodb-local e descrive i limiti di account e tabelle.

    Per utilizzarlo con la propria immagine dell'applicazione, sostituire il valore image nell'esempio seguente con quello dell'applicazione:

    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

    Gli script YAML richiedono di specificare una chiave di AWS accesso e una chiave AWS segreta, ma non devono essere AWS chiavi valide per accedere a DynamoDB locale.

  3. Emettere il seguente comando dalla riga di comando:

    docker-compose up

Completare la seguente procedura per utilizzare Amazon DynamoDB nell'applicazione come dipendenza.

Come distribuire DynamoDB come repository Apache Maven
  1. Scarica e installa Apache Maven. Per ulteriori informazioni, consulta le pagine relative al download di Apache Maven e all'installazione di Apache Maven.

  2. Aggiungi il repository Maven DynamoDB al file POM (Project Object Model) dell'applicazione:

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

    Modello di esempio da utilizzare con Spring Boot 3 e/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

    Puoi anche utilizzare l'URL di Maven Central Repository.

Per un esempio di progetto di esempio che mostra diversi approcci per configurare e utilizzare DynamoDB in locale, tra cui il download di file JAR, l'esecuzione come immagine Docker e l'utilizzo come dipendenza Maven, consulta DynamoDB Local Sample Java Project.