

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

# Configurazione di DynamoDB
<a name="SettingUp"></a>

 Oltre al servizio web Amazon DynamoDB AWS , fornisce una versione scaricabile di DynamoDB che puoi eseguire sul tuo computer. La versione scaricabile è utile per sviluppare e testare il codice. La versione scaricabile consente di scrivere e testare applicazioni in locale, senza effettuare l'accesso al servizio Web DynamoDB. 

 Gli argomenti contenuti in questa sezione descrivono come configurare DynamoDB (versione scaricabile) e il servizio Web DynamoDB. 

**Topics**
+ [Configurazione di DynamoDB (servizio Web)](SettingUp.DynamoWebService.md)
+ [Configurazione di DynamoDB locale (versione scaricabile)](DynamoDBLocal.md)

# Configurazione di DynamoDB (servizio Web)
<a name="SettingUp.DynamoWebService"></a>

 Per utilizzare il servizio Web Amazon DynamoDB: 

1.  [Registrazione per AWS](#SettingUp.DynamoWebService.SignUpForAWS) 

1.  [Ottieni una chiave di AWS accesso](#SettingUp.DynamoWebService.GetCredentials) (utilizzata per accedere a DynamoDB a livello di codice). 
**Nota**  
 Se prevedi di interagire con DynamoDB solo tramite Console di gestione AWS, non hai bisogno di AWS una chiave di accesso e puoi passare direttamente a. [Utilizzo della console](AccessingDynamoDB.md#ConsoleDynamoDB) 

1.  [Configura le credenziali](#SettingUp.DynamoWebService.ConfigureCredentials) (utilizzata per accedere a DynamoDB in modo programmatico). 

## Iscrizione a AWS
<a name="SettingUp.DynamoWebService.SignUpForAWS"></a>

 Per utilizzare il servizio DynamoDB, è necessario disporre di un account. AWS Se non disponi di un account, ti verrà chiesto di crearne uno durante la registrazione. Non ti viene addebitato alcun costo per AWS i servizi a cui ti iscrivi a meno che non li utilizzi. 

**Per iscriverti a AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

## Concessione dell'accesso programmatico
<a name="SettingUp.DynamoWebService.GetCredentials"></a>

 Prima di poter accedere a DynamoDB a livello di codice o tramite AWS CLI(), è necessario disporre AWS Command Line Interface dell'accesso programmatico. Non è necessario un accesso programmatico se si intende utilizzare solo la console DynamoDB. 

Gli utenti hanno bisogno dell'accesso programmatico se vogliono interagire con l'esterno di. AWS Console di gestione AWS Il modo per concedere l'accesso programmatico dipende dal tipo di utente che accede. AWS

Per fornire agli utenti l’accesso programmatico, scegli una delle seguenti opzioni.


****  

| Quale utente necessita dell’accesso programmatico? | Per | Come | 
| --- | --- | --- | 
| IAM | (Consigliato) Utilizza le credenziali della console come credenziali temporanee per firmare le richieste programmatiche a,, o. AWS CLI AWS SDKs AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html)  | 
|  Identità della forza lavoro (Utenti gestiti nel centro identità IAM)  | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI, AWS SDKs, o. AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html)  | 
| IAM | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI, AWS SDKs, o. AWS APIs | Seguendo le istruzioni riportate in [Utilizzo delle credenziali temporanee con le AWS risorse nella Guida per](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) l'utente IAM. | 
| IAM | (Non consigliato)Utilizza credenziali a lungo termine per firmare richieste programmatiche a AWS CLI,, AWS SDKs o. AWS APIs |  Segui le istruzioni per l’interfaccia che desideri utilizzare. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html)  | 

## Configurazione delle credenziali
<a name="SettingUp.DynamoWebService.ConfigureCredentials"></a>

 Prima di poter accedere a DynamoDB a livello di codice o tramite, è necessario configurare AWS CLI le credenziali per abilitare l'autorizzazione per le applicazioni. 

 Esistono vari modi per eseguire questa operazione. Ad esempio, puoi creare manualmente il file delle credenziali per archiviare l'ID chiave di accesso e la chiave di accesso segreta. È inoltre possibile utilizzare il AWS CLI comando per creare automaticamente il file`aws configure`. In alternativa, puoi utilizzare le variabili di ambiente. Per ulteriori informazioni sulla configurazione delle credenziali, consulta la guida per sviluppatori SDK specifica per la programmazione. AWS 

 Per installare e configurare il, consulta. AWS CLI[Utilizzando il AWS CLI](AccessingDynamoDB.md#Tools.CLI) 

## Integrazione con altri servizi DynamoDB
<a name="w2aab9c17b9c13"></a>

Puoi integrare DynamoDB con molti altri servizi. AWS Per ulteriori informazioni, consulta gli argomenti seguenti: 
+ [Utilizzo di DynamoDB con altri servizi AWS](OtherServices.md)
+ [CloudFormation per DynamoDB](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)
+ [Utilizzo di AWS Backup con Dynamo DB](backuprestore_HowItWorksAWS.md)
+ [AWS Identity and Access Management (IAM) e DynamoDB](identity-and-access-mgmt.md)
+ [Utilizzo di AWS Lambda con Amazon DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html)

# Configurazione di DynamoDB locale (versione scaricabile)
<a name="DynamoDBLocal"></a>

 Con la versione scaricabile di Amazon DynamoDB è possibile sviluppare e testare applicazioni senza effettuare l'accesso al servizio Web DynamoDB. Il database, invece, è autonomo sul tuo computer. Una volta pronti a implementare l'applicazione in produzione, rimuovere l'endpoint locale nel codice e puntare al servizio Web DynamoDB. 

 Questa versione locale ti aiuta a risparmiare sui costi di throughput, storage dei dati e trasferimento dei dati. Inoltre, lo sviluppo dell'applicazione non richiede una connessione a Internet. 

 La versione locale di DynamoDB è disponibile solo per il [download](DynamoDBLocal.DownloadingAndRunning.md#DynamoDBLocal.DownloadingAndRunning.title) (richiede JRE), come una [dipendenza Apache Maven](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html#apache-maven) o come [immagine Docker](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html#docker). 

 Se si preferisce utilizzare il servizio Web Amazon DynamoDB, consulta [Configurazione di DynamoDB (servizio Web)](SettingUp.DynamoWebService.md). 

**Topics**
+ [Distribuzione di DynamoDB in locale sul computer](DynamoDBLocal.DownloadingAndRunning.md)
+ [Note per l'utilizzo locale di DynamoDB](DynamoDBLocal.UsageNotes.md)
+ [Cronologia delle versioni di DynamoDB Local](DynamoDBLocalHistory.md)
+ [Telemetria in DynamoDB locale](DynamoDBLocalTelemetry.md)

# Distribuzione di DynamoDB in locale sul computer
<a name="DynamoDBLocal.DownloadingAndRunning"></a>

**Nota**  
DynamoDB locale è disponibile in tre versioni: v3.x (Corrente), v2.x (Legacy) e v1.x (Obsoleta).
Si consiglia DynamoDB v3.x per test e sviluppo in locale.
La migrazione della versione di DynamoDB locale da V2.x a V3.x richiede l’aggiornamento delle istruzioni di importazione da `com.amazonaws.services.dynamodbv2` a `software.amazon.dynamodb` e l’aggiornamento delle dipendenze Maven per gli utenti Maven.
Se stai migrando un’applicazione che utilizza l’SDK per Java v1.x all’SDK per Java 2.x, segui la procedura per [SDK AWS per Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration.html).

## Download di DynamoDB locale
<a name="DynamoDBLocal.DownloadingAndRunning.V2"></a>

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

**Come configurare DynamoDB sul computer**

1. Scarica DynamoDB locale gratuitamente da una delle seguenti posizioni.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html)
**Importante**  
 Per eseguire DynamoDB v2.6.0 sul computer è necessaria la versione 17.x o successiva dell’ambiente di runtime Java (JRE). L'applicazione non verrà eseguita nelle versioni di JRE precedenti.

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

1.  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 usi 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\$1C 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 ` 

1. 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 [Utilizzando il AWS CLI](AccessingDynamoDB.md#Tools.CLI). 

1.  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
   ```

## Esecuzione di DynamoDB locale come immagine Docker
<a name="DynamoDBLocal.DownloadingAndRunning.Docker"></a>

 La versione scaricabile di Amazon DynamoDB è disponibile come parte dell'immagine Docker. Per ulteriori informazioni, consulta [dynamodb-local](https://hub.docker.com/r/amazon/dynamodb-local). Per visualizzare la versione corrente di DynamoDB locale, immetti 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](https://github.com/aws-samples/aws-sam-java-rest) 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](https://www.docker.com/products/docker-desktop). 

1.  Copiare il codice seguente in un file e salvarlo con nome `docker-compose.yml`. 

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

1.  Emettere il seguente comando dalla riga di comando: 

   ```
   docker-compose up
   ```

## Esecuzione di DynamoDB locale come dipendenza Apache Maven
<a name="DynamoDBLocal.DownloadingAndRunning.Maven.v2"></a>

**Nota**  
Se stai migrando un’applicazione che utilizza l’SDK per Java v1.x all’SDK per Java 2.x, segui la procedura per [SDK AWS per Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration.html).

 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](https://maven.apache.org/download.cgi) e all'[installazione di Apache Maven](https://maven.apache.org/install.html). 

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

   ```
   <!--Dependency:-->
   <dependencies>
      <dependency>
         <groupId>software.amazon.dynamodb</groupId>
         <artifactId>DynamoDBLocal</artifactId>
         <version>3.3.0</version>
      </dependency>
   </dependencies>
   ```

    Modello di esempio da utilizzare con Spring Boot 3 Spring Framework 6: and/or 

   ```
   <?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.1.0</version>
      </parent>
   
   <dependencies>
      <dependency>
          <groupId>software.amazon.dynamodb</groupId>
          <artifactId>DynamoDBLocal</artifactId>
          <version>3.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](https://mvnrepository.com/artifact/com.amazonaws/DynamoDBLocal?repo=dynamodb-local-release). 

## Esegui DynamoDB in locale in AWS CloudShell
<a name="DynamoDBLocal.DynamoDB.Local.CloudShell"></a>

AWS CloudShell è una shell preautenticata basata su browser che puoi avviare direttamente da. Console di gestione AWSÈ possibile accedere AWS CloudShell da diversi modi Console di gestione AWS . Per ulteriori informazioni, consulta [Guida introduttiva AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/getting-started.html).

Segui questi passaggi per eseguire DynamoDB localmente ovunque AWS CloudShell nel. Console di gestione AWS

**Per eseguire DynamoDB in locale nel AWS CloudShell Console di gestione AWS**

1. Avvia AWS CloudShell dall'interfaccia della console, scegli una shell disponibile Regione AWS e passa alla shell preferita, come Bash o la shell PowerShell Z.

1. Per sceglierne una Regione AWS, vai al menu **Seleziona una regione** e seleziona una [supportata Regione AWS](https://docs.aws.amazon.com/cloudshell/latest/userguide/supported-aws-regions.html). (Le Regioni disponibili sono evidenziate.)

1. Da Console di gestione AWS, avvia AWS CloudShell scegliendo una delle seguenti opzioni:

   1. Nella barra di navigazione seleziona l’icona **AWS CloudShell**.

   1. Nella casella **Cerca**, inserisci la parola CloudShell, quindi scegli **CloudShell**.

   1. Nel widget **Visitato di recente**, scegli **CloudShell**.

   1. Dalla barra degli strumenti della console, scegli **CloudShell**.

1. Per eseguire DynamoDB AWS CloudShell in locale puoi usare l'alias. `dynamodb-local` È possibile specificare opzioni aggiuntive della riga di comando per modificare le impostazioni di DynamoDB locale. Consulta [Note per l'utilizzo locale di DynamoDB](DynamoDBLocal.UsageNotes.md) per conoscere le opzioni disponibili.
**Nota**  
Per eseguire DynamoDB in locale in background, esegui DynamoDB local utilizzando:. AWS CloudShell `dynamodb-local &`

1. Per accedere a DynamoDB AWS CloudShell in esecuzione localmente con, utilizzare AWS CLI il parametro. `--endpoint-url` Ad esempio, per elencare le tabelle DynamoDB utilizza il seguente comando:

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

Per un esempio di progetto che mostra diversi approcci per configurare e utilizzare DynamoDB 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.](https://github.com/awslabs/amazon-dynamodb-local-samples/tree/main)

# Note per l'utilizzo locale di DynamoDB
<a name="DynamoDBLocal.UsageNotes"></a>

 A eccezione dell'endpoint, le applicazioni eseguite con la versione scaricabile di Amazon DynamoDB dovrebbero funzionare anche con il servizio Web DynamoDB. Tuttavia, quando si utilizza DynamoDB in locale, è necessario tenere presente quanto riportato di seguito: 
+  *Se si utilizza l'`-sharedDb`opzione, DynamoDB crea un singolo file di database denominato .db. shared-local-instance* Tutti i programmi che si connettono a DynamoDB hanno accesso a questo file. Se elimini il file, tutti i dati in esso archiviati andranno persi. 
+  Se si omette`-sharedDb`, il file di database viene denominato *myaccesskeyid\$1region.db*, con l'ID della chiave di AWS accesso e la AWS regione così come appaiono nella configurazione dell'applicazione. Se elimini il file, tutti i dati in esso archiviati andranno persi. 
+  Se si utilizza l'opzione `-inMemory`, DynamoDB non scrive alcun file di database. Tutti i dati verranno invece scritti in memoria e non verranno salvati all'arresto di DynamoDB. 
+  Se si utilizza l’opzione `-inMemory`, è richiesta anche l'opzione `-sharedDb`. 
+  Se si utilizza l'opzione `-optimizeDbBeforeStartup`, è necessario specificare anche il parametro `-dbPath`, in modo che DynamoDB sia in grado di individuare il file di database. 
+  AWS SDKs Per DynamoDB è necessario che la configurazione dell'applicazione specifichi un valore della chiave di accesso e AWS un valore Region. A meno che non stia utilizzando l'opzione `-sharedDb` o `-inMemory`, DynamoDB usa questi valori per denominare il file di database locale. Questi valori non devono essere necessariamente validi per essere eseguiti AWS localmente. Tuttavia, potresti trovare utile utilizzare valori validi in modo da poter eseguire il codice nel cloud successivamente, modificando solo l'endpoint in uso. 
+  La versione locale di DynamoDB restituisce sempre un valore null per `billingModeSummary.` 
+  DynamoDB local `AWS_ACCESS_KEY_ID` può contenere solo lettere (A–Z, a–z) e numeri (0-9). 
+ DynamoDB local non [Point-in-time supporta il ripristino](Point-in-time-recovery.md) (PITR).

**Topics**
+ [Opzioni della riga di comando](#DynamoDBLocal.CommandLineOptions)
+ [Impostazione dell'endpoint locale](#DynamoDBLocal.Endpoint)
+ [Differenze tra DynamoDB scaricabile e il servizio Web DynamoDB](#DynamoDBLocal.Differences)

## Opzioni della riga di comando
<a name="DynamoDBLocal.CommandLineOptions"></a>

 Con la versione scaricabile di DynamoDB è possibile utilizzare le opzioni della riga di comando seguenti: 
+  `-cors``value`— Abilita il supporto per la condivisione di risorse tra origini diverse (CORS) per. JavaScript È necessario fornire un elenco di domini specifici "consentiti" separati da virgole. L'impostazione predefinita di `-cors` è un asterisco (\$1), che permette l'accesso pubblico. 
+  `-dbPath` `value`: la directory in cui DynamoDB scrive il file di database. Se non specifichi questa opzione, il file verrà scritto nella directory corrente. Non puoi specificare sia `-dbPath` che `-inMemory` contemporaneamente. 
+  `-delayTransientStatuses`: fa sì che DynamoDB introduca ritardi per determinate operazioni. DynamoDB (versione scaricabile) può eseguire alcune attività quasi istantaneamente, come le operazioni su tabelle e indici. create/update/delete Tuttavia, il servizio DynamoDB richiede più tempo per queste attività. L'impostazione di questo parametro consente a DynamoDB in esecuzione sul computer di simulare più da vicino il comportamento del servizio Web DynamoDB. Attualmente, questo parametro causa ritardi solo per i Global Secondary Indexes in stato *CREATING* o *DELETING*. 
+  `-help`: stampa un riepilogo di utilizzo e le opzioni. 
+  `-inMemory`: DynamoDB viene eseguito in memoria invece di utilizzare un file di database. Quando si arresta DynamoDB, i dati non verranno salvati. Non puoi specificare sia `-dbPath` che `-inMemory` contemporaneamente. 
+  `-optimizeDbBeforeStartup`: ottimizza le tabelle di database sottostanti prima di avviare DynamoDB sul computer. Inoltre, quando utilizzi questo parametro, è necessario specificare `-dbPath`. 
+  `-port` `value`: il numero di porta utilizzato da DynamoDB per comunicare con l'applicazione. Se non viene specificata questa opzione, la porta predefinita è `8000`. 
**Nota**  
 DynamoDB utilizza la porta 8000 per impostazione predefinita. Se la porta 8000 non è disponibile, il comando genera un'eccezione. Puoi utilizzare l'opzione `-port` per specificare un numero di porta diverso. Per un elenco completo delle opzioni di runtime di DynamoDB, tra cui `-port`, digitare il comando seguente:   
 `java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help` 
+  `-sharedDb`: se si specifica `-sharedDb`, DynamoDB utilizza un singolo file di database anziché file separati per ogni credenziale e regione. 
+  `-disableTelemetry`: quando specificato, DynamoDB locale non invierà alcuna telemetria. 
+ `-version`: stampa la versione di DynamoDB locale.

## Impostazione dell'endpoint locale
<a name="DynamoDBLocal.Endpoint"></a>

 Per impostazione predefinita, gli strumenti AWS SDKs and utilizzano gli endpoint per il servizio Web Amazon DynamoDB. Per utilizzare gli strumenti SDKs e con la versione scaricabile di DynamoDB, è necessario specificare l'endpoint locale: 

 `http://localhost:8000` 

### AWS Command Line Interface
<a name="DynamoDBLocal.Endpoint.CLI"></a>

 Puoi usare il AWS Command Line Interface (AWS CLI) per interagire con DynamoDB scaricabile. 

 Per accedere a DynamoDB eseguito in locale, utilizza il parametro `--endpoint-url`. Di seguito è riportato un esempio di utilizzo di AWS CLI per elencare le tabelle in DynamoDB sul computer. 

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

**Nota**  
 Non AWS CLI possono utilizzare la versione scaricabile di DynamoDB come endpoint predefinito. Pertanto, è necessario specificare con ogni comando. `--endpoint-url` AWS CLI 

### AWS SDKs
<a name="DynamoDBLocal.Endpoint.SDK"></a>

 Il modo in cui viene specificato un endpoint dipende dal linguaggio di programmazione e dall'SDK AWS in uso. Nelle seguenti sezioni viene descritto come procedere: 
+  [Java: impostazione della AWS regione e dell'endpoint](CodeSamples.Java.md#CodeSamples.Java.RegionAndEndpoint)(DynamoDB local supporta l'SDK AWS per Java V1 e V2) 
+ CodeSamples.Java. RegionAndEndpoint [.NET: impostazione della AWS regione e dell'endpoint](CodeSamples.DotNet.md#CodeSamples.DotNet.RegionAndEndpoint) 

## Differenze tra DynamoDB scaricabile e il servizio Web DynamoDB
<a name="DynamoDBLocal.Differences"></a>

 La versione scaricabile di DynamoDB è destinata solo a scopi di sviluppo e test. Per contro, il servizio Web DynamoDB è un servizio gestito con caratteristiche di scalabilità, disponibilità e durabilità che lo rendono ideale per l'uso in produzione. 

 Le differenze tra la versione scaricabile di DynamoDB e il servizio Web sono le seguenti: 
+ Regioni AWS e distinct non Account AWS sono supportati a livello di client. 
+  Le impostazioni di velocità effettiva assegnata vengono ignorate nella versione scaricabile di DynamoDB, sebbene siano richieste dall'operazione `CreateTable`. In `CreateTable`, puoi specificare i numeri che preferisci di throughput di lettura e scrittura assegnato, sebbene questi numeri non vengano utilizzati. Puoi chiamare `UpdateTable` tutte le volte al giorno che desideri. Tuttavia, le modifiche ai valori di throughput assegnato vengono ignorate. 
+  Le operazioni `Scan` vengono eseguite in sequenza. Le scansioni in parallelo non sono supportate. I parametri `Segment` e `TotalSegments` dell'operazione `Scan` vengono ignorati. 
+  La velocità delle operazioni di lettura e scrittura sui dati della tabella è limitata solo dalla velocità del computer. Le operazioni `CreateTable`, `UpdateTable` e `DeleteTable` hanno luogo immediatamente e lo stato della tabella è sempre ACTIVE. Le operazioni `UpdateTable` che modificano solo le impostazioni di throughput di cui è stato effettuato il provisioning sulle tabelle o sui Global Secondary Indexes si verificano immediatamente. Se un'operazione `UpdateTable` crea o elimina alcuni indici secondari globali, tali indici passeranno attraverso gli stati normali (come CREATING e DELETING, rispettivamente) prima di raggiungere lo stato ACTIVE. La tabella rimane in stato ACTIVE (Attivo) durante questa fase. 
+  Le operazioni di lettura hanno consistenza finale. Tuttavia, a causa della velocità dell’esecuzione di DynamoDB locale sul computer, la maggior parte delle letture risulta a elevata consistenza. 
+  I parametri di raccolta di item e le dimensioni di raccolta di item non vengono monitorati. Nelle risposte delle operazioni, vengono restituiti valori null anziché parametri di raccolta di item. 
+  In DynamoDB, il limite di dati restituiti per ogni set di risultati è 1 MB. Sia il servizio Web DynamoDB che la versione scaricabile impongono questo limite. Tuttavia, durante l'esecuzione di una query su un indice, il servizio DynamoDB calcola solo la dimensione della chiave e degli attributi proiettati. Per contro, la versione scaricabile di DynamoDB calcola la dimensione dell'intero elemento. 
+  Se si utilizzano i flussi DynamoDB, la velocità di creazione degli shard potrebbe variare. Nel servizio Web DynamoDB, il comportamento della creazione di shard è in parte influenzato dall'attività di partizionamento della tabella. Quando si esegue DynamoDB in locale, non si verifica un partizionamento di tabella. Nei due casi, gli shard sono temporanei, per cui l'applicazione non deve dipendere dal comportamento degli shard. 
+  `TransactionConflictExceptions`non vengono generati da DynamoDB scaricabile per transazioni. APIs Ti consigliamo di utilizzare un framework fittizio Java per simulare `TransactionConflictExceptions` nel gestore DynamoDB per testare la modalità di risposta dell'applicazione alle transazioni in conflitto. 
+  Nel servizio web DynamoDB, indipendentemente dal fatto che l'accesso avvenga tramite la console o tramite, i nomi delle tabelle fanno distinzione AWS CLI tra maiuscole e minuscole. Una tabella denominata `Authors` e una denominata `authors` possono esistere entrambe come tabelle separate. Nella versione scaricabile, i nomi di tabella rispettano la distinzione tra maiuscole e minuscole e il tentativo di creare queste due tabelle genera un errore. 
+ L’assegnazione di tag non è supportata nella versione scaricabile di DynamoDB.
+ [La versione scaricabile di DynamoDB ignora il parametro Limit in. [ExecuteStatement](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ExecuteStatement.html)](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ExecuteStatement.html#DDB-ExecuteStatement-request-Limit)

# Cronologia delle versioni di DynamoDB Local
<a name="DynamoDBLocalHistory"></a>

Nella tabella seguente sono descritte le modifiche importanti apportate a ogni nuova versione di *DynamoDB local*.


****  

| Versione | Modifica | Descrizione | Data | 
| --- | --- | --- | --- | 
| 3.3.0 |  Aggiungere il supporto per chiavi multiattributo per gli indici secondari globali  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  19 gennaio 2026  | 
| 3.2.0 |  Risolti i problemi di compatibilità con più versioni di Kotlin  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  09 gennaio 2026  | 
| 3.1.0 |  Miglioramento delle prestazioni per le query PartiQL, inclusa la dipendenza Joda-time  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  14 settembre 2025  | 
| 3.0.0 |  Migrazione da AWS SDK Java V1 a V2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  17 luglio 2025  | 
| 2.6.0 |  Supporta la tabella ARN come nome della tabella in DynamoDB APIs Correzione delle prestazioni e aggiornamenti di sicurezza  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  13 marzo 2025  | 
| 2.5.4 |  Aggiornamento a dipendenze Jetty  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  12 dicembre 2024  | 
| 2.5.3 |  Aggiornamento delle dipendenze Jackson alla versione 2.17.x in Log4j Core (Risolve CVE-2022-1471)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  6 novembre 2024  | 
| 2.5.2 | Correzione di bug per il flusso di lavoro di aggiornamento delle tabelle | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  | 20 giugno 2024 | 
| 2.5.1 | Patch per i bug introdotti nella funzionalità OndemandThroughPut  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html) | 5 giugno 2024 | 
| 2.5.0 |  Support per un throughput massimo configurabile per tabelle on demand, `ReturnValuesOnConditionCheckFailure`, `BatchExecuteStatement` e `ExecuteTransactionRequest`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  28 maggio 2024  | 
| 2.4.0 |  Supporto per `ReturnValuesOnConditionCheckFailure` – Modalità con embedding  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  17 aprile 2024  | 
| 2.3.0 |  Aggiornamento di Jetty e JDK  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  14 marzo 2024  | 
| 2.2.0 |  Aggiunta del supporto per la protezione dall’eliminazione delle tabelle e per il parametro `ReturnValuesOnConditionCheckFailure`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  14 dicembre 2023  | 
| 2.1.0 |  Support per progetti SQLLite Native Libraries for Maven e aggiunta di telemetria  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  23 ottobre 2023  | 
| 2.0.0 |  Migrazione da javax a jakarta namespace e Support JDK11   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  5 luglio 2023  | 
| 1.25.1 |  Aggiornamento delle dipendenze Jackson alla versione 2.17.x in Log4j Core (Risolve CVE-2022-1471)  |  Aggiornamento delle dipendenze Jackson alla versione 2.17.x in Log4j Core (Risolve CVE-2022-1471) per risolvere una vulnerabilità di sicurezza critica nella libreria SnakeYAML, che è una dipendenza transitiva  |  6 novembre 2024  | 
| 1.25.0 |  Aggiunta del supporto per la protezione dall’eliminazione delle tabelle e per il parametro `ReturnValuesOnConditionCheckFailure`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  18 dicembre 2023  | 
| 1.24.0 |  Support per progetti SQLLite Native Libraries for Maven e aggiunta di telemetria  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  23 ottobre 2023  | 
| 1.23.0 |  Gestione dell'accesso non valido e chiave segreta all'avvio del server  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  28 giugno 2023  | 
| 1.22.0 |  Supporto di Limit Operation per PartiQL  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  8 giugno 2023  | 
| 1.21.0 |  Supporto per 100 azioni per transazione  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  26 gennaio 2023  | 
| 1.20.0 |  Aggiunto il supporto per M1 Mac  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  12 settembre 2022  | 
| 1.19.0 |  Aggiornato il parser PartiQL  |  Aggiornato il parser PartiQL e altre librerie correlate  |  27 luglio 2022  | 
| 1.18.0 | Aggiornati log4j-core e Jackson-core | Aggiornato log4j-core a 2.17.1 e Jackson-core 2.10.x a 2.12.0 | 10 gennaio 2022 | 
| 1.17.2 | Aggiornato log4j-core | Aggiornata dipendenza log4j-core alla versione 2.16 | 16 gennaio 2021 | 
| 1.17.1 | Aggiornato log4j-core | Aggiornata dipendenza log4j-core per correggere l'exploit zero-day per impedire l'esecuzione di codice in modalità remota - Log4Shel | 10 gennaio 2021 | 
| 1.17.0 | Javascript Web Shell obsoleta |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  | 8 gennaio 2021 | 

# Telemetria in DynamoDB locale
<a name="DynamoDBLocalTelemetry"></a>

 In AWS, sviluppiamo e lanciamo servizi basati su ciò che apprendiamo dalle interazioni con i clienti e utilizziamo il feedback dei clienti per iterare sui nostri prodotti. La telemetria offre informazioni aggiuntive che ci consentono di comprendere meglio le necessità dei clienti, diagnosticare i problemi e fornire funzionalità per migliorare l'esperienza cliente. 

 DynamoDB locale raccoglie dati di telemetria, come metriche di utilizzo generiche, informazioni sui sistemi e sull'ambiente ed errori. Per informazioni dettagliate sui tipi di telemetria raccolti, consulta. [Tipo di informazioni da raccogliere](#DynamoDBLocalTelemetry.TypesOfInformationCollected) 

 DynamoDB locale non raccoglie informazioni personali, come nomi utente o indirizzi e-mail. Inoltre, non estrae informazioni sensibili a livello di progetto. 

 In qualità di cliente, puoi controllare se la telemetria è attivata e puoi modificare le impostazioni in qualsiasi momento. Se la telemetria resta attiva, DynamoDB locale invia i dati di telemetria in background senza richiedere alcuna interazione aggiuntiva al cliente. 

## Disattivazione della telemetria utilizzando le opzioni della riga di comando
<a name="DynamoDBLocalTelemetry.cli"></a>

 Puoi disattivare la telemetria utilizzando le opzioni della riga di comando all'avvio di DynamoDB locale utilizzando l'opzione `-disableTelemetry`. Per ulteriori informazioni, consulta [Opzioni della riga di comando](DynamoDBLocal.UsageNotes.md#DynamoDBLocal.CommandLineOptions).

## Disattivazione della telemetria per una singola sessione
<a name="DynamoDBLocalTelemetry.TurnOffTelemetrySingleSession"></a>

 Nei sistemi operativi macOS e Linux, puoi disattivare la telemetria per una singola sessione. Per disattivare la telemetria per la sessione corrente, esegui il comando seguente per impostare la variabile di ambiente `DDB_LOCAL_TELEMETRY` su `false`. Ripeti il comando per ogni nuovo terminale o sessione. 

```
export DDB_LOCAL_TELEMETRY=0
```

## Disattivazione della telemetria per il tuo profilo in tutte le sessioni
<a name="DynamoDBLocalTelemetry.TurnOffTelemetryForAllSessions"></a>

 Esegui i seguenti comandi per disattivare la telemetria per tutte le sessioni quando esegui DynamoDB locale sul tuo sistema operativo. 

**Per disattivare la telemetria in Linux**

1.  Esegui: 

   ```
   echo "export DDB_LOCAL_TELEMETRY=0" >>~/.profile
   ```

1.  Esegui: 

   ```
   source ~/.profile
   ```

**Per disattivare la telemetria in Linux**

1.  Esegui: 

   ```
   echo "export DDB_LOCAL_TELEMETRY=0" >>~/.profile
   ```

1.  Esegui: 

   ```
   source ~/.profile
   ```

**Per disattivare la telemetria in Linux**

1.  Esegui: 

   ```
   setx DDB_LOCAL_TELEMETRY 0
   ```

1.  Esegui: 

   ```
   refreshenv
   ```

## Disattivazione della telemetria con DynamoDB locale con embedding in progetti Maven
<a name="DynamoDBLocalTelemetry.maven"></a>

 È possibile disattivare la telemetria utilizzando DynamoDB locale con embedding nei progetti Maven. 

```
boolean disableTelemetry = true;
// AWS SDK v1
 AmazonDynamoDB amazonDynamoDB = DynamoDBEmbedded.create(disableTelemetry).amazonDynamoDB();

// AWS SDK v2
DynamoDbClient ddbClientSDKv2Local = DynamoDBEmbedded.create(disableTelemetry).dynamoDbClient();
```

## Tipo di informazioni da raccogliere
<a name="DynamoDBLocalTelemetry.TypesOfInformationCollected"></a>
+  **Informazioni sull'utilizzo**: la telemetria generica, ad esempio il server start/stop e l'API o l'operazione chiamata. 
+  **Informazioni sul sistema e sull'ambiente**: la versione Java, il sistema operativo (Windows, Linux o macOS), l'ambiente in cui viene eseguito DynamoDB locale (ad esempio, JAR indipendente, container Docker o come dipendenza Maven) e i valori hash degli attributi di utilizzo. 

## Ulteriori informazioni
<a name="DynamoDBLocalTelemetry.LearnMore"></a>

 I dati di telemetria raccolti localmente da DynamoDB rispettano le politiche sulla privacy dei dati. AWS Per ulteriori informazioni, consulta gli argomenti seguenti: 
+  [AWS termini del servizio](https://aws.amazon.com/service-terms/) 
+  [Domande frequenti sulla privacy dei dati](https://aws.amazon.com/compliance/data-privacy-faq/) 