У меня проблема с DynamoDB и QueryRequest.Я хочу реализовать пейджинг с DynamodB.
Я получаю сообщение об ошибке от почтальона.Прокрутите вправо для полной ошибки.
{
"timestamp": "2019-06-04T00:12:42.526+0000",
"status": 500,
"error": "Internal Server Error",
"exception": "com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException",
"message": "Request processing failed; nested exception is com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException: Requested resource not found (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: TDAUFVG205A11TFDGOD9U53MMBVV4KQNSO5AEMVJF66Q9ASUAAJG)",
Мой проект подключается и отлично работает с другими приложениями API.DynamoDBMapper.query работает нормально и возвращает данные.
Проблема в новом коде, использующем QueryRequest.
public String getRequestPage(String query, String lastEvaluatedKey, String limit) {
...
Map<String, AttributeValue> mapLastEvaluatedKey = null;
Map<String,String> expressionAttributesNames = new HashMap<>();
expressionAttributesNames.put("#tagId","tagId");
Map<String,AttributeValue> expressionAttributeValues = new HashMap<>();
expressionAttributeValues.put(":column_search",new AttributeValue().withS(query));
QueryRequest queryRequest = new QueryRequest()
.withTableName(dynamoDbTableName)
.withKeyConditionExpression("#tagId = :column_search")
.withExpressionAttributeNames(expressionAttributesNames)
.withExpressionAttributeValues(expressionAttributeValues)
.withLimit(page_limit)
.withExclusiveStartKey(mapLastEvaluatedKey);
System.out.println(" queryRequest " + queryRequest );
QueryResult queryResult = client.query(queryRequest);
Map<String, AttributeValue> mapLastEvaluatedKeyReturned = null;
mapLastEvaluatedKeyReturned = queryResult.getLastEvaluatedKey();
error -->{ "timestamp": "2019-06-04T19:58:18.156+0000", "status": 500,
"error": "Internal Server Error", "exception":
"com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException",
"message": "Request processing failed; nested exception is
com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException:
Requested resource not found (Service: AmazonDynamoDBv2; Status Code:
400; Error Code: ResourceNotFoundException; Request ID:
BRCI1FLM3375SB8U6JSJEAH09NVV4KQNSO5AEMVJF66Q9ASUAAJG)", "path":
"/api/v1/metadata/tag/tagIdPage/military_status/page/1/limit/2" }
Это system.out запроса-запроса и отправляется в БД
queryRequest {TableName: tagMetadata_Certified-dev,Limit:
2,FilterExpression: tagId = :tagIdValue,KeyConditionExpression: #tagId = :tagIdValue,ExpressionAttributeNames:
{#tagId=tagId},ExpressionAttributeValues: {:tagIdValue={S:
military_status,}}}
Любая помощь будет отличной.
Спасибо, Фил