2개 답변
- 최신
- 최다 투표
- 가장 많은 댓글
1
This functionality is not yet available for Enhanced Client. I would suggest adding a feature request on the repo: https://github.com/aws/aws-sdk-java-v2/tree/master/services-custom/dynamodb-enhanced
0
To achieve this in DynamoDbEnhancedClient first we need to activate the extension while creating the DynamoDbEnhancedClient bean. Please find the attached code for your reference
Step 1 :-
public DynamoDbClient getDynamoDbClientForEC2() {
return DynamoDbClient.builder()
.region(Region.of(awsRegion))
.credentialsProvider(InstanceProfileCredentialsProvider.create())
.endpointOverride(URI.create(awsDynamoDBEndPoint))
.build();
}
@Bean
@ConditionalOnProperty(prefix = "aws", name = "access.secured", havingValue = "enabled")
public DynamoDbEnhancedClient getDynamoDbEnhancedClientForEC2() {
return DynamoDbEnhancedClient.builder()
.dynamoDbClient(getDynamoDbClientForEC2())
.extensions(AutoGeneratedTimestampRecordExtension.create(), AutoGeneratedUuidExtension.create())
.build();
}
Step 2 :- Finally, you can tell DynamoDbEnhancedClient to autogenerate the key for you in the entity class,
@DynamoDbBean
public class MyEntity {
private String myPartionKey;
@DynamoDbPartitionKey
@DynamoDbAutoGeneratedUuid
public String getMyPartionKey() {
return myPartionKey;
}
}
답변함 4달 전