Надеюсь, кто-то может мне помочь. Я записываю данные в dynamoDB, который выполняется без ошибок, но данные не отображаются в таблице dynamoDB. Таблица запускается следующим образом:Данные, записанные в DynamoDB, не отображаются на таблице
@DynamoDBTable(tableName = "*table name")
public class AttractionsLibraryDO {
private String _attractionName;
private String _attractionCategory;
private String _attractionCountry;
private String _attractionDate;
private String _attractionDescription;
private Double _attractionEntrance;
private String _attractionGps;
private String _attractionLocation;
private String _attractionPicture;
private Double _attractionRating;
private String _attractionToken;
private Double _attractionVisits;
@DynamoDBHashKey(attributeName = "Attraction_name")
public String getAttractionName() {
return _attractionName;
}
public void setAttractionName(final String _attractionName) {
this._attractionName = _attractionName;
}
@DynamoDBAttribute(attributeName = "Attraction_category")
public String getAttractionCategory() {
return _attractionCategory;
}
public void setAttractionCategory(final String _attractionCategory) {
this._attractionCategory = _attractionCategory;
}
@DynamoDBAttribute(attributeName = "Attraction_country")
public String getAttractionCountry() {
return _attractionCountry;
}
public void setAttractionCountry(final String _attractionCountry) {
this._attractionCountry = _attractionCountry;
}
@DynamoDBAttribute(attributeName = "Attraction_date")
public String getAttractionDate() {
return _attractionDate;
}
public void setAttractionDate(final String _attractionDate) {
this._attractionDate = _attractionDate;
}
@DynamoDBAttribute(attributeName = "Attraction_description")
public String getAttractionDescription() {
return _attractionDescription;
}
public void setAttractionDescription(final String _attractionDescription) {
this._attractionDescription = _attractionDescription;
}
@DynamoDBAttribute(attributeName = "Attraction_entrance")
public Double getAttractionEntrance() {
return _attractionEntrance;
}
public void setAttractionEntrance(final Double _attractionEntrance) {
this._attractionEntrance = _attractionEntrance;
}
@DynamoDBAttribute(attributeName = "Attraction_gps")
public String getAttractionGps() {
return _attractionGps;
}
public void setAttractionGps(final String _attractionGps) {
this._attractionGps = _attractionGps;
}
@DynamoDBAttribute(attributeName = "Attraction_location")
public String getAttractionLocation() {
return _attractionLocation;
}
public void setAttractionLocation(final String _attractionLocation) {
this._attractionLocation = _attractionLocation;
}
@DynamoDBAttribute(attributeName = "Attraction_picture")
public String getAttractionPicture() {
return _attractionPicture;
}
public void setAttractionPicture(final String _attractionPicture) {
this._attractionPicture = _attractionPicture;
}
@DynamoDBAttribute(attributeName = "Attraction_rating")
public Double getAttractionRating() {
return _attractionRating;
}
public void setAttractionRating(final Double _attractionRating) {
this._attractionRating = _attractionRating;
}
@DynamoDBAttribute(attributeName = "Attraction_token")
public String getAttractionToken() {
return _attractionToken;
}
public void setAttractionToken(final String _attractionToken) {
this._attractionToken = _attractionToken;
}
@DynamoDBAttribute(attributeName = "Attraction_visits")
public Double getAttractionVisits() {
return _attractionVisits;
}
public void setAttractionVisits(final Double _attractionVisits) {
this._attractionVisits = _attractionVisits;
}
}
Я пишу данные в базу данных следующим образом:
public class AddAttraction extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_attraction);
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(), // Context
"*Cognito identity pool id", // Identity Pool ID
Regions.EU_WEST_1 // Region
);
AmazonDynamoDBClient ddbClient = new AmazonDynamoDBClient(credentialsProvider);
final DynamoDBMapper dynamoDBMapper = new DynamoDBMapper(ddbClient);
final AttractionsLibraryDO attractions_Library = new AttractionsLibraryDO();
SUBMIT = (Button)findViewById(R.id.button_submit_attraction);
SUBMIT.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
writeToDynamoDB(attractions_Library, dynamoDBMapper);
}
});
}
public Thread writeToDynamoDB(final AttractionsLibraryDO attractions, final DynamoDBMapper dynamoDBMapper) {
Runnable runnableWrite = new Runnable() {
public void run() {
try {
Log.d("Event:", "Writing to DynamoDB.");
attractions.setAttractionCategory("String");
attractions.setAttractionRating(int);
attractions.setAttractionCountry("String");
attractions.setAttractionDate("String");
attractions.setAttractionEntrance(int);
attractions.setAttractionGps("String");
attractions.setAttractionLocation("String");
attractions.setAttractionName("String");
attractions.setAttractionPicture("String");
attractions.setAttractionToken("String");
attractions.setAttractionDescription("String");
attractions.setAttractionVisits(int);
AmazonClientException lastException = null;
dynamoDBMapper.save(attractions);
Log.d("Event:", "Writing to DynamoDB done.");
} catch (final AmazonClientException ex) {
Log.d("Error", "Failed saving item : " + ex.getMessage(), ex);
}
}
};
Thread t = new Thread(runnableWrite);
t.start();
return null;
}
}
данные не отображаются на dynamoDB и как писать в dynamoDB. и запись в dynamoDB. регистрируется. Может ли проблема состоять в том, что используется неправильное имя таблицы (я дважды проверил это миллион раз)? Я не знаю, если это важно, но следующая строка записывается также:
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
Я исчерпал идеи, пожалуйста, помогите. Спасибо заранее.
не видит никаких проблем с тем, что вы делаете, он должен работать. вы уверены, что находитесь в правой зоне AWS в консоли? –
также попробуйте добавить эту строку сразу после сохранения: 'dynamoDBMapper.load (аттракционы);', запишите его и посмотрите, что вы получаете. –
Какое имя вашей таблицы? Почему у вас есть «имя таблицы» в аннотации класса притяжения? Это настоящее имя таблицы? – notionquest