Example usage for com.amazonaws.services.dynamodbv2.model PutRequest PutRequest

List of usage examples for com.amazonaws.services.dynamodbv2.model PutRequest PutRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.dynamodbv2.model PutRequest PutRequest.

Prototype

public PutRequest(java.util.Map<String, AttributeValue> item) 

Source Link

Document

Constructs a new PutRequest object.

Usage

From source file:com.dell.doradus.db.s3.DynamoDBService2.java

License:Apache License

public void commit(DBTransaction dbTran) {
    Timer t = new Timer();
    List<WriteRequest> list = new ArrayList<>();

    for (ColumnUpdate mutation : dbTran.getColumnUpdates()) {
        Map<String, AttributeValue> item = getPrimaryKey(mutation.getStoreName() + "_" + mutation.getRowKey(),
                mutation.getColumn().getName());
        byte[] value = mutation.getColumn().getRawValue();
        if (value.length == 0)
            value = EMPTY_VALUE;/*w ww .  j  a  va  2 s  . c  o  m*/
        item.put("value", new AttributeValue().withB(ByteBuffer.wrap(value)));
        list.add(new WriteRequest().withPutRequest(new PutRequest(item)));

        if (list.size() >= 25) {
            commitPartial(list);
        }
    }

    for (ColumnDelete mutation : dbTran.getColumnDeletes()) {
        Map<String, AttributeValue> item = getPrimaryKey(mutation.getStoreName() + "_" + mutation.getRowKey(),
                mutation.getColumnName());
        list.add(new WriteRequest().withDeleteRequest(new DeleteRequest(item)));

        if (list.size() >= 25) {
            commitPartial(list);
        }

    }

    for (RowDelete mutation : dbTran.getRowDeletes()) {
        for (DColumn c : getColumnSlice(mutation.getStoreName(), mutation.getRowKey(), null, null)) {
            Map<String, AttributeValue> item = getPrimaryKey(
                    mutation.getStoreName() + "_" + mutation.getRowKey(), c.getName());
            list.add(new WriteRequest().withDeleteRequest(new DeleteRequest(item)));

            if (list.size() >= 25) {
                commitPartial(list);
            }

        }
    }

    if (list.size() > 0) {
        commitPartial(list);
    }

    m_logger.debug("Committed transaction to {} in {}", getTenant().getName(), t);
}

From source file:mx.iteso.desi.cloud.keyvalue.DynamoDBStorage.java

License:Apache License

@Override
public void sync() {
    Map<String, List<WriteRequest>> requestItems = new HashMap<>();
    List<WriteRequest> requestList = new ArrayList<>();
    requestItems.put(dbName, requestList);

    for (int i = 0; i < attributes.size(); i++) {
        if (i % BATCH_SIZE == 0) {
            requestList.add(new WriteRequest(new PutRequest(attributes.get(i))));
            BatchWriteItemRequest bwir = new BatchWriteItemRequest(requestItems);
            System.out.println("Result: " + client.batchWriteItem(bwir));
            requestItems = new HashMap<>();
            requestList = new ArrayList<>();
            requestItems.put(dbName, requestList);
        } else {/*from  ww  w .  j  a v a 2 s  .  co  m*/
            requestList.add(new WriteRequest(new PutRequest(attributes.get(i))));
        }
    }
    if (requestList.size() > 0) {
        BatchWriteItemRequest bwir = new BatchWriteItemRequest(requestItems);
        System.out.println("Result: " + client.batchWriteItem(bwir));
        requestItems = new HashMap<>();
        requestList = new ArrayList<>();
        requestItems.put(dbName, requestList);
    }
}

From source file:org.kairosdb.datastore.dynamodb.WriteBuffer.java

License:Apache License

public void addData(Map<String, AttributeValue> entry) {
    m_mutatorLock.lock();// w w  w. ja v  a 2 s  .c om
    try {
        waitOnBufferFull();
        m_bufferCount++;
        m_writeBuffer.add(new WriteRequest(new PutRequest(entry)));
    } finally {
        m_mutatorLock.unlock();
    }
}