Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Notas sobre el uso local de DynamoDB
Excepto en lo tocante al punto de enlace, las aplicaciones que se ejecutan con la versión descargable de Amazon DynamoDB en el sistema deberían funcionar también con el servicio web de DynamoDB. Sin embargo, si utiliza DynamoDB localmente, debe tener en cuenta lo siguiente:
-
Si usa
-sharedDb
esta opción, DynamoDB crea un único archivo de base de datos denominado .db. shared-local-instance Todos los programas que se conectan con DynamoDB obtienen acceso a este archivo. Si elimina el archivo, perderá todos los datos que haya guardado en él. -
Si lo omite
-sharedDb
, el archivo de base de datos se denomina myaccesskeyid_region.db, con el identificador de la clave de AWS acceso y la AWS región tal y como aparecen en la configuración de la aplicación. Si elimina el archivo, perderá todos los datos que haya guardado en él. -
Si usa la opción
-inMemory
, DynamoDB no escribe ningún archivo de base de datos. En lugar de ello, todos los datos se escriben en la memoria y ninguno de ellos se guarda cuando cierra DynamoDB. -
Si utiliza la opción
-inMemory
, también será necesaria la opción-sharedDb
. -
Si utiliza la opción
-optimizeDbBeforeStartup
, también debe especificar el parámetro-dbPath
para que DynamoDB pueda encontrar el archivo de base de datos. -
Los AWS SDK para DynamoDB requieren que la configuración de la aplicación especifique un valor de clave de acceso y un valor de región. AWS A no ser que utilice la opción
-sharedDb
o-inMemory
, DynamoDB usará estos valores para asignar el nombre al archivo de base de datos local. Estos valores no tienen que ser AWS valores válidos para ejecutarse localmente. Sin embargo, tal vez le convenga utilizar valores válidos para que pueda ejecutar el código en la nube más adelante cambiando simplemente el punto de enlace que esté utilizando. -
DynamoDB local siempre devuelve un valor nulo para
billingModeSummary.
-
AWS_ACCESS_KEY_ID
de DynamoDB local solo puede contener letras (A-Z, a-z) y números (0-9).
Temas
Opciones de línea de comandos
Puede usar las siguientes opciones de línea de comandos con la versión descargable de DynamoDB:
-
-cors
value
— Habilita la compatibilidad con el intercambio de recursos entre orígenes (CORS) para. JavaScript Debe proporcionar una lista de dominios específicos "permitidos" separados por comas. El ajuste predeterminado para-cors
es el asterisco (*), que permite el acceso público. -
-dbPath
value
: directorio donde DynamoDB escribe el archivo de base de datos. Si no especifica esta opción, el archivo se escribe en el directorio actual. Puede especificar tanto-dbPath
como-inMemory
a la vez. -
-delayTransientStatuses
: hace que DynamoDB presente retardos para algunas operaciones. DynamoDB (versión descargable) puede realizar algunas tareas casi instantáneamente, como operaciones de creación, actualización y eliminación en tablas e índices. Sin embargo, el servicio de DynamoDB requiere más tiempo para estas tareas. El establecimiento de este parámetro ayuda a que DynamoDB ejecutándose en su ordenador simule mejor el comportamiento del servicio web de DynamoDB. En la actualidad, este parámetro introduce retardos solo para los índices secundarios globales que se encuentran en el estado CREATING o DELETING. -
-help
: imprime un resumen de uso y las opciones posibles. -
-inMemory
: DynamoDB se ejecuta en memoria, en lugar de usar un archivo de base de datos. Cuando detenga DynamoDB, no se guardará ninguno de los datos. Puede especificar tanto-dbPath
como-inMemory
a la vez. -
-optimizeDbBeforeStartup
: optimiza las tablas de la base de datos subyacente antes de iniciar DynamoDB en el ordenador. Si utiliza este parámetro, también debe especificar-dbPath
. -
-port
value
: número de puerto que DynamoDB utiliza para comunicarse con la aplicación. Si no especifica esta opción, el puerto predeterminado es8000
.nota
De manera predeterminada, DynamoDB usa el puerto 8000. Si el puerto 8000 no está disponible, este comando genera una excepción. Puede usar la opción
-port
para especificar otro número de puerto. Para obtener una lista completa de opciones de tiempo de ejecución de DynamoDB, incluida-port
, escriba este comando:java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help
-
-sharedDb
: si especifica-sharedDb
, DynamoDB utiliza un solo archivo de base de datos, en lugar de archivos distintos para cada credencial y región. -
-disableTelemetry
: si se especifica, DynamoDB local no enviará ninguna telemetría. -
-version
— Imprime la versión de DynamoDB local.
Configuración del punto de conexión local
De forma predeterminada, los AWS SDK y las herramientas utilizan puntos de enlace para el servicio web Amazon DynamoDB. Para utilizar los SDK y las herramientas con la versión descargable de DynamoDB, debe especificar el punto de enlace local:
http://localhost:8000
AWS Command Line Interface
Puede usar AWS Command Line Interface (AWS CLI) para interactuar con DynamoDB descargable. Por ejemplo, puede utilizarla para realizar todos los pasos de Creación de tablas y carga de datos para ejemplos de código en DynamoDB.
Para acceder a la instancia de DynamoDB que se ejecuta localmente, use el parámetro --endpoint-url
. A continuación se muestra un ejemplo del uso de AWS CLI para enumerar las tablas de DynamoDB en su equipo.
aws dynamodb list-tables
--endpoint-url http://localhost:8000
nota
No AWS CLI pueden usar la versión descargable de DynamoDB como punto final predeterminado. Por lo tanto, debe especificarlo --endpoint-url
con cada AWS CLI comando.
AWS SDK
La forma de especificar el punto de enlace depende del lenguaje de programación y del SDK de AWS que se utilizan en cada caso. En las secciones siguientes se describe cómo hacerlo:
-
Java: configuración de la región y del punto de conexión de AWS(DynamoDB local admite el SDK para AWS Java V1 y V2)
-
.NET: configuración de la región y del punto de conexión de AWS
nota
Para ver ejemplos en otros lenguajes de programación, consulte Introducción a DynamoDB y los SDK de AWS.
Diferencias entre la versión descargable de DynamoDB y el servicio web de DynamoDB
La versión descargable de DynamoDB se ha desarrollado únicamente para tareas de desarrollo y comprobación. Por el contrario, el servicio web de DynamoDB es un servicio administrado con características de escalabilidad, disponibilidad y durabilidad que resulta ideal para utilizarlo en producción.
La versión descargable de DynamoDB se diferencia del servicio web en lo siguiente:
-
Regiones de AWS y los distintos no Cuentas de AWS se admiten a nivel de cliente.
-
Los ajustes de rendimiento aprovisionado se omiten en la versión descargable de DynamoDB, aunque la operación
CreateTable
los requiera. ParaCreateTable
, puede especificar cualquier cifra que desee de desempeño provisionado de lectura y escritura, si bien estas cifras no se utilizarán. Puede llamar aUpdateTable
tantas veces como desee al día. Sin embargo, se omiten los cambios en los valores de desempeño provisionado. -
Las operaciones
Scan
se llevan a cabo secuencialmente. No se admiten los exámenes en paralelo. Los parámetrosSegment
yTotalSegments
de la operaciónScan
se pasan por alto. -
La velocidad de las operaciones de lectura y escritura en los datos de la tabla solamente se ve limitada por la velocidad del equipo. Las operaciones
CreateTable
,UpdateTable
yDeleteTable
se llevan a cabo de inmediato y el estado de la tabla siempre es ACTIVE. Las operacionesUpdateTable
que solo cambian los ajustes de desempeño provisionado de las tablas y/o los índices secundarios globales se realizan de inmediato. Si una operaciónUpdateTable
crea o elimina los índices secundarios globales, estos índices pasan sucesivamente por los estados normales (tales como CREATING o DELETING, respectivamente) antes de entrar en el estado ACTIVE. La tabla permanece en el estado ACTIVE durante este tiempo. -
Las operaciones de lectura son de consistencia final. No obstante, debido a la velocidad de DynamoDB cuando se ejecuta en el ordenador, la mayoría de las lecturas parecerán ser de coherencia alta.
-
No se realiza el seguimiento de las métricas ni de los tamaños de las colecciones de elementos. En las respuestas a las operaciones, se devuelven valores Null en lugar de las métricas de las colecciones de elementos.
-
En DynamoDB, existe un límite de 1 MB para los datos devueltos en cada conjunto de resultados. Tanto el servicio web de DynamoDB como la versión descargable imponen este límite. Sin embargo, al consultar un índice, el servicio de DynamoDB solo calcula el tamaño de la clave y los atributos previstos. En cambio, la versión descargable de DynamoDB calcula el tamaño del elemento completo.
-
Si utiliza DynamoDB Streams, la velocidad a la que se crean las particiones puede ser diferente. En el servicio web de DynamoDB, el comportamiento de creación de particiones depende en parte de la actividad de partición de la tabla. Cuando ejecuta DynamoDB localmente, la tabla no se particiona. La aplicación no debe depender del comportamiento de los fragmentos, puesto que son efímeros en ambos casos.
-
TransactionConflictExceptions
no se utilizan en las API descargables de DynamoDB para transacciones. Le recomendamos que utilice una plataforma de simulación de Java para simularTransactionConflictExceptions
en el controlador de DynamoDB y probar cómo responde la aplicación a las transacciones conflictivas. -
En el servicio web de DynamoDB, tanto si se accede a través de la consola como de la, los nombres de las tablas distinguen AWS CLI mayúsculas de minúsculas. Una tabla llamada
Authors
y otra llamadaauthors
pueden existir como tablas independientes. En la versión descargable, los nombres de las tablas no distinguen entre mayúsculas y minúsculas y si intenta crear estas dos tablas se producirá un error. -
La versión descargable de DynamoDB no admite el etiquetado.
-
La versión descargable de DynamoDB ignora el parámetro Limit in. ExecuteStatement