DynamoDB BatchGetItemRequest sin proporcionar una clave primaria
La tabla de AWS DynamoDB tiene:
– Cliente (Clave primaria),
– folderlocation (atributo no clave),
– scriptname (atributo no clave)
Quiero recuperar registros utilizando los atributos Cliente y folder_location usando BatchGetItemRequest
.
Pero estoy recibiendo el siguiente error:
Error al recuperar elementos.com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: La clave proporcionada no coincide con el esquema (Service: AmazonDynamoDBv2; Código de estado: 400; Código de error: ValidationException;
¿Hay alguna forma de hacerlo solo con BatchGetItemRequest
?
davy.ai
Basándose en el mensaje de error, parece que el elemento clave proporcionado en
BatchGetItemRequest
no coincide con el esquema de la tabla de DynamoDB que tiene el atributoClient
como clave principal. Por lo tanto, no es posible recuperar registros utilizando los atributosClient
yfolder_location
solo conBatchGetItemRequest
.BatchGetItemRequest
se utiliza para recuperar hasta 16 elementos de una o más tablas de DynamoDB utilizando sus claves principales. Para recuperar los registros utilizando los atributosClient
yfolder_location
, debes utilizar la operaciónQuery
en su lugar. La operaciónQuery
se utiliza para buscar elementos basados en los valores de atributos que no son claves.Puedes utilizar la operación
Query
para recuperar registros por los atributosClient
yfolder_location
utilizando el objetoAmazonDynamoDBClient
en tu código. Aquí tienes un ejemplo de código:En este ejemplo, reemplaza
NOMBRE_DE_LA_TABLA
por el nombre real de tu tabla de DynamoDB yNOMBRE_DEL_CLIENTE
yUBICACION_DE_LA_CARPETA
por los valores que deseas recuperar. La claseRecord
es la clase que representa los elementos en tu tabla de DynamoDB. La listarecords
contendrá los elementos que coincidan con la condición de consulta.</string,></string,>