0

フィールドの名前を で変更し@DynamoDBAttributeても、新しい では機能しないようDynamoDbEnhancedAsyncClientです。

実在物:

@DynamoDbBean
public class TableEntity {
    @DynamoDBAttribute(attributeName = "unique_id")
    private String id;

    public TableEntity() {
    }

    public TableEntity(String id) {
      this.is = id;
    }

    @DynamoDbPartitionKey
    public String getId() {
        return id;
    }

DynamoDBAsyncClient:

DynamoDbEnhancedAsyncClient dynamoDbAsyncClient = DynamoDbEnhancedAsyncClient.builder().dynamoDbClient(DynamoDbAsyncClient.builder().build()).build();

テーブル:

DynamoDbAsyncTable<TableEntity> table =  dynamoDbAsyncClient.table(tableName, TableSchema.fromBean(TableEntity));

私がしようとするとCreatTable

table.createTable(
    CreateTableEnhancedRequest.builder()
    .provisionedThroughput(
        ProvisionedThroughput.
        builder()
       .readCapacityUnits(2L)
       .writeCapacityUnits(2L)
       .build())
   .build()
).get();

idではなくフィールド名のテーブルが表示されますunique_id

誰かがこれを解決したか、同じ問題を経験しましたか? 同期バージョンを試したことはありませんが、誰かが同期バージョンで動作するようになったかどうか、つまりDynamoDbEnhancedClientand DynamoDbTable?

software.amazon.awssdk:dynamodb-enhanced:2.17.75ライブラリを使用しています。

4

1 に答える 1