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à.
Note per l'utilizzo locale di DynamoDB
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'
-sharedDbopzione, 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_region.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
-sharedDbo-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_IDpuò contenere solo lettere (A–Z, a–z) e numeri (0-9). -
DynamoDB local non Point-in-time supporta il ripristino (PITR).
Argomenti
Opzioni della riga di comando
Con la versione scaricabile di DynamoDB è possibile utilizzare le opzioni della riga di comando seguenti:
-
-corsvalue— 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 (*), che permette l'accesso pubblico. -
-dbPathvalue: 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-dbPathche-inMemorycontemporaneamente. -
-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-dbPathche-inMemorycontemporaneamente. -
-optimizeDbBeforeStartup: ottimizza le tabelle di database sottostanti prima di avviare DynamoDB sul computer. Inoltre, quando utilizzi questo parametro, è necessario specificare-dbPath. -
-portvalue: 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
-portper 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
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
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
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: Configurazione dell'endpoint e della regione AWS(DynamoDB local supporta l'SDK AWS per Java V1 e V2)
-
CodeSamples.Java. RegionAndEndpoint .NET: Configurazione dell'endpoint e della regione AWS
Differenze tra DynamoDB scaricabile e il servizio Web DynamoDB
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. InCreateTable, puoi specificare i numeri che preferisci di throughput di lettura e scrittura assegnato, sebbene questi numeri non vengano utilizzati. Puoi chiamareUpdateTabletutte le volte al giorno che desideri. Tuttavia, le modifiche ai valori di throughput assegnato vengono ignorate. -
Le operazioni
Scanvengono eseguite in sequenza. Le scansioni in parallelo non sono supportate. I parametriSegmenteTotalSegmentsdell'operazioneScanvengono ignorati. -
La velocità delle operazioni di lettura e scrittura sui dati della tabella è limitata solo dalla velocità del computer. Le operazioni
CreateTable,UpdateTableeDeleteTablehanno luogo immediatamente e lo stato della tabella è sempre ACTIVE. Le operazioniUpdateTableche modificano solo le impostazioni di throughput di cui è stato effettuato il provisioning sulle tabelle o sui Global Secondary Indexes si verificano immediatamente. Se un'operazioneUpdateTablecrea 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.
-
TransactionConflictExceptionsnon vengono generati da DynamoDB scaricabile per transazioni. APIs Ti consigliamo di utilizzare un framework fittizio Java per simulareTransactionConflictExceptionsnel 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
Authorse una denominataauthorspossono 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