Interface DynamoDbAsyncIndex<T>
- Type Parameters:
T- The type of the modelled object.
- All Known Implementing Classes:
DefaultDynamoDbAsyncIndex
By default, all command methods throw an UnsupportedOperationException to prevent interface extensions from breaking
implementing classes.
-
Method Summary
Modifier and TypeMethodDescriptionGets the physical secondary index name that operations performed by this object will be executed against.Creates aKeyobject from a modelled item.Gets theDynamoDbEnhancedClientExtensionassociated with this mapped resource.default SdkPublisher<Page<T>> query(Consumer<QueryEnhancedRequest.Builder> requestConsumer) Executes a query against a secondary index using aQueryConditionalexpression to retrieve a list of items matching the given conditions.default SdkPublisher<Page<T>> query(QueryConditional queryConditional) Executes a query against the secondary index of the table using aQueryConditionalexpression to retrieve a list of items matching the given conditions.default SdkPublisher<Page<T>> query(QueryEnhancedRequest request) Executes a query against a secondary index using aQueryConditionalexpression to retrieve a list of items matching the given conditions.default SdkPublisher<Page<T>> scan()Scans the table against a secondary index and retrieves all items using default settings.default SdkPublisher<Page<T>> scan(Consumer<ScanEnhancedRequest.Builder> requestConsumer) Scans the table against a secondary index and retrieves all items.default SdkPublisher<Page<T>> scan(ScanEnhancedRequest request) Scans the table against a secondary index and retrieves all items.Gets the physical table name that operations performed by this object will be executed against.Gets theTableSchemaobject that this mapped table was built with.
-
Method Details
-
query
Executes a query against a secondary index using aQueryConditionalexpression to retrieve a list of items matching the given conditions.The result is accessed through iterable pages (see
Page) in an interactive way; each time a result page is retrieved, a query call is made to DynamoDb to get those entries. If no matches are found, the resulting iterator will contain an empty page. Results are sorted by sort key value in ascending order by default; this behavior can be overridden in theQueryEnhancedRequest.The additional configuration parameters that the enhanced client supports are defined in the
QueryEnhancedRequest.This operation calls the low-level DynamoDB API Query operation. Consult the Query documentation for further details and constraints.
Example:
QueryConditional queryConditional = QueryConditional.keyEqualTo(Key.builder().partitionValue("id-value").build()); SdkPublisher<Page<MyItem>> publisher = mappedIndex.query(QueryEnhancedRequest.builder() .queryConditional(queryConditional) .build());- Parameters:
request- AQueryEnhancedRequestdefining the query conditions and how to handle the results.- Returns:
- a publisher
SdkPublisherwith paginated results (seePage).
-
query
Executes a query against a secondary index using aQueryConditionalexpression to retrieve a list of items matching the given conditions.The result is accessed through iterable pages (see
Page) in an interactive way; each time a result page is retrieved, a query call is made to DynamoDb to get those entries. If no matches are found, the resulting iterator will contain an empty page. Results are sorted by sort key value in ascending order by default; this behavior can be overridden in theQueryEnhancedRequest.The additional configuration parameters that the enhanced client supports are defined in the
QueryEnhancedRequest.This operation calls the low-level DynamoDB API Query operation. Consult the Query documentation for further details and constraints.
Note: This is a convenience method that creates an instance of the request builder avoiding the need to create one manually via
QueryEnhancedRequest.builder().Example:
SdkPublisher<Page<MyItem>> publisher = mappedIndex.query(r -> r.queryConditional(QueryConditional.keyEqualTo(k -> k.partitionValue("id-value"))));- Parameters:
requestConsumer- AConsumerofQueryEnhancedRequestdefining the query conditions and how to handle the results.- Returns:
- a publisher
SdkPublisherwith paginated results (seePage).
-
query
Executes a query against the secondary index of the table using aQueryConditionalexpression to retrieve a list of items matching the given conditions.The result is accessed through iterable pages (see
Page) in an interactive way; each time a result page is retrieved, a query call is made to DynamoDb to get those entries. If no matches are found, the resulting iterator will contain an empty page. Results are sorted by sort key value in ascending order.This operation calls the low-level DynamoDB API Query operation. Consult the Query documentation for further details and constraints.
Example:
SdkPublisher<Page<MyItem>> results = mappedIndex.query(QueryConditional.keyEqualTo(Key.builder().partitionValue("id-value").build()));- Parameters:
queryConditional- AQueryConditionaldefining the matching criteria for records to be queried.- Returns:
- a publisher
SdkPublisherwith paginated results (seePage).
-
scan
Scans the table against a secondary index and retrieves all items.The result is accessed through iterable pages (see
Page) in an interactive way; each time a result page is retrieved, a scan call is made to DynamoDb to get those entries. If no matches are found, the resulting iterator will contain an empty page.The additional configuration parameters that the enhanced client supports are defined in the
ScanEnhancedRequest.Example:
SdkPublisher<Page<MyItem>> publisher = mappedTable.scan(ScanEnhancedRequest.builder().consistentRead(true).build());- Parameters:
request- AScanEnhancedRequestdefining how to handle the results.- Returns:
- a publisher
SdkPublisherwith paginated results (seePage).
-
scan
Scans the table against a secondary index and retrieves all items.The result is accessed through iterable pages (see
Page) in an interactive way; each time a result page is retrieved, a scan call is made to DynamoDb to get those entries. If no matches are found, the resulting iterator will contain an empty page.The additional configuration parameters that the enhanced client supports are defined in the
ScanEnhancedRequest.Note: This is a convenience method that creates an instance of the request builder avoiding the need to create one manually via
ScanEnhancedRequest.builder().Example:
SdkPublisher<Page<MyItem>> publisher = mappedTable.scan(r -> r.limit(5));- Parameters:
requestConsumer- AConsumerofScanEnhancedRequestdefining the query conditions and how to handle the results.- Returns:
- a publisher
SdkPublisherwith paginated results (seePage).
-
scan
Scans the table against a secondary index and retrieves all items using default settings.The result is accessed through iterable pages (see
Page) in an interactive way; each time a result page is retrieved, a scan call is made to DynamoDb to get those entries. If no matches are found, the resulting iterator will contain an empty page.Example:
SdkPublisher<Page<MyItem>> publisher = mappedTable.scan();- Returns:
- a publisher
SdkPublisherwith paginated results (seePage).
-
mapperExtension
DynamoDbEnhancedClientExtension mapperExtension()Gets theDynamoDbEnhancedClientExtensionassociated with this mapped resource.- Returns:
- The
DynamoDbEnhancedClientExtensionassociated with this mapped resource.
-
tableSchema
TableSchema<T> tableSchema()Gets theTableSchemaobject that this mapped table was built with.- Returns:
- The
TableSchemaobject for this mapped table.
-
tableName
String tableName()Gets the physical table name that operations performed by this object will be executed against.- Returns:
- The physical table name.
-
indexName
String indexName()Gets the physical secondary index name that operations performed by this object will be executed against.- Returns:
- The physical secondary index name.
-
keyFrom
Creates aKeyobject from a modelled item. This key can be used in query conditionals and get operations to locate a specific record.- Parameters:
item- The item to extract the key fields from.- Returns:
- A key that has been initialized with the index values extracted from the modelled object.
-