Skip to content

Commit 8bf6118

Browse files
author
AWS
committed
Amazon DynamoDB Update: DynamoDB ExecuteStatement API now supports Limit as a request parameter to specify the maximum number of items to evaluate. If specified, the service will process up to the Limit and the results will include a LastEvaluatedKey value to continue the read in a subsequent operation.
1 parent 1246c2a commit 8bf6118

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon DynamoDB",
4+
"contributor": "",
5+
"description": "DynamoDB ExecuteStatement API now supports Limit as a request parameter to specify the maximum number of items to evaluate. If specified, the service will process up to the Limit and the results will include a LastEvaluatedKey value to continue the read in a subsequent operation."
6+
}

services/dynamodb/src/main/resources/codegen-resources/dynamodb/service-2.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@
411411
{"shape":"InternalServerError"},
412412
{"shape":"DuplicateItemException"}
413413
],
414-
"documentation":"<p>This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL.</p>"
414+
"documentation":"<p>This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL.</p> <p>For PartiQL reads (<code>SELECT</code> statement), if the total number of processed items exceeds the maximum dataset size limit of 1 MB, the read stops and results are returned to the user as a <code>LastEvaluatedKey</code> value to continue the read in a subsequent operation. If the filter criteria in <code>WHERE</code> clause does not match any data, the read will return an empty result set.</p> <p>A single <code>SELECT</code> statement response can return up to the maximum number of items (if using the Limit parameter) or a maximum of 1 MB of data (and then apply any filtering to the results using <code>WHERE</code> clause). If <code>LastEvaluatedKey</code> is present in the response, you need to paginate the result set.</p>"
415415
},
416416
"ExecuteTransaction":{
417417
"name":"ExecuteTransaction",
@@ -2477,7 +2477,11 @@
24772477
"shape":"PartiQLNextToken",
24782478
"documentation":"<p>Set this value to get remaining results, if <code>NextToken</code> was returned in the statement response.</p>"
24792479
},
2480-
"ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}
2480+
"ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"},
2481+
"Limit":{
2482+
"shape":"PositiveIntegerObject",
2483+
"documentation":"<p>The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, along with a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation so you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in <code>LastEvaluatedKey</code> to apply in a subsequent operation to continue the operation. </p>"
2484+
}
24812485
}
24822486
},
24832487
"ExecuteStatementOutput":{
@@ -2491,7 +2495,11 @@
24912495
"shape":"PartiQLNextToken",
24922496
"documentation":"<p>If the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results.</p>"
24932497
},
2494-
"ConsumedCapacity":{"shape":"ConsumedCapacity"}
2498+
"ConsumedCapacity":{"shape":"ConsumedCapacity"},
2499+
"LastEvaluatedKey":{
2500+
"shape":"Key",
2501+
"documentation":"<p>The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request. If <code>LastEvaluatedKey</code> is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved. If <code>LastEvaluatedKey</code> is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when <code>LastEvaluatedKey</code> is empty. </p>"
2502+
}
24952503
}
24962504
},
24972505
"ExecuteTransactionInput":{

0 commit comments

Comments
 (0)