Ошибка "отсутствует значение ключа RANGE" в весенней загрузке DynamoDB Ошибка приложения даже после объявления @DynamoDBRangeKey (attributeName = "") - PullRequest
0 голосов
/ 09 марта 2020

Ошибка

«отсутствует значение ключа RANGE»

в весенней загрузке DynamoDB Ошибка приложения даже после объявления @DynamoDBRangeKey(attributeName = "")

Я пытался использовать java Spring boot AWS библиотека динамической БД и средство отображения динамической БД для подключения моего приложения весенней загрузки с AWS динамической БД даже после объявления @DynamoDBRangeKey(attributeName = "created_millis"), где "created_millis" - мой короткий ключ, а "farm_id" - мой ключ раздела. Если я удаляю короткий ключ, данные поступают из БД, но в момент добавления @DynamoDBRangeKey(attributeName = "created_millis") с кодом отображается

"Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500). SolarFarmData [create_millis]: значение ключа RANGE отсутствует "

@DynamoDBTable(tableName = "solar_farm_data")
public class SolarFarmData {
    @Id
    private String farmId;

    private Double ambientTemperature;

    private Long createdMillis;

@DynamoDBHashKey(attributeName = "farm_id")
    public String getFarmId() {
        return farmId;
    }

    public void setFarmId(String farmId) {
        this.farmId = farmId;
    }
    @DynamoDBRangeKey(attributeName = "created_millis")
    public Long getCreatedMillis() {
        return createdMillis;
    }

    public void setCreatedMillis(Long createdMillis) {
        this.createdMillis = createdMillis;
    }
    @DynamoDBAttribute(attributeName = "ambient_temperature")
    public Double getAmbientTemperature() {
        return ambientTemperature;
    }

    public void setAmbientTemperature(Double ambientTemperature) {
        this.ambientTemperature = ambientTemperature;
    }
}

1 Ответ

0 голосов
/ 11 марта 2020
This will work once you start mapping your "created_millis" which is used here as a short key.

UserCrudDaoImpl  Class
@Override
       public SolarFarmData readUser(String farmId, Long millis) {
             return dynamoDBMapper.load(SolarFarmData.class, farmId, millis); //added millis here for the query.
       }

along with this please change Dao, Service, ServiceImpl, and Controller.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...