2016-10-31 2 views
0

Надеюсь, кто-то может мне помочь. Я записываю данные в 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 

Я исчерпал идеи, пожалуйста, помогите. Спасибо заранее.

+0

не видит никаких проблем с тем, что вы делаете, он должен работать. вы уверены, что находитесь в правой зоне AWS в консоли? –

+0

также попробуйте добавить эту строку сразу после сохранения: 'dynamoDBMapper.load (аттракционы);', запишите его и посмотрите, что вы получаете. –

+0

Какое имя вашей таблицы? Почему у вас есть «имя таблицы» в аннотации класса притяжения? Это настоящее имя таблицы? – notionquest

ответ

0

Поскольку ваш стол находится в «eu-west-1», вместо стандартного «us-east-1» вам необходимо явно указать регион для вашего клиента DynamoDB.

За свой комментарий, вам необходимо добавить следующую строку:

ddbClient.setRegion(Region.getRegion(Regions.EU_WEST_1)); 

 Смежные вопросы

  • Нет связанных вопросов^_^