Вы правы, вы можете использовать условный пут для достижения этого Условные путы SimpleDB Docs .
По существу любой атрибут на предмете, который, как вы знаете, будет у вас, может использоваться с проверкой существованияв условном обновлении, чтобы убедиться, что помещение происходит только в том случае, если атрибут не существует для этого конкретного itemName.
В java, использующем java SDK Amazon, это будет выглядеть примерно так: -
// add a conditional check to ensure that the specified profile does not already
// exist - if there's a timestamp, then this profile already exists
UpdateCondition condition = new UpdateCondition("quantity", null, false);
final PutAttributesRequest request = new PutAttributesRequest().withDomainName("MyDomain");
request.setItemName("JumboFez");
request.setAttributes(attributes);
request.setExpected(condition);
sdb.putAttributes (request);
Это существенно уменьшает то, что вы написали, и будет делать то, что вы хотите, до тех пор, пока у вас никогда не будет действительного элемента, который не имеет атрибута количества.
Возможно, стоит отметить, что в вашем примере у вас есть набор заменв true, и если вы используете условные путы, чтобы убедиться, что элемент является новым, вам не нужно устанавливать replace = true (в соответствии с документами и эмпирическими данными замена = true стоит больше, чем replace = false и занимает больше времени)).