Я использую DynamoDB mapper и у меня есть следующий Item.class. Значения зашифрованы с использованием ключа KMS.
public class Item {
private String id
private String personID;
@DynamoDBHashKey
@DynamoDBGeneratedUuid(DynamoDBAutoGenerateStrategy.CREATE)
public String getId(){
return id;
}
@DynamoDBAttribute
@DynamoDBIndexHashKey(globalSecondaryIndexName = "personID-index")
public String getPersonID() {
return personID;
}
};
Когда я пытаюсь сохранить элемент, появляется следующая ошибка
AmazonDynamoDBException: One or more parameter values were invalid: Type mismatch for Index Key personID Expected: S Actual: B IndexName: personID-index
Даже если в сообщении об ошибке указано, что я отправляю его как B, согласно моему коду это строковое значение S.
Согласно https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBMapper.DataTypes.html S - строка, а B - двоичный. Я не вижу, где мой personID преобразуется в двоичное значение.
Любая помощь в устранении ошибки приветствуется.