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

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

Introduction

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

Prototype

public WriteRequest(DeleteRequest deleteRequest) 

Source Link

Document

Constructs a new WriteRequest object.

Usage

From source file:amazon.dynamodb.config.DynamoDBManager.java

License:Open Source License

public BatchWritePointResult batchWritePoints(List<PutPointRequest> putPointRequests) {
    BatchWriteItemRequest batchItemRequest = new BatchWriteItemRequest();
    List<WriteRequest> writeRequests = new ArrayList<WriteRequest>();
    for (PutPointRequest putPointRequest : putPointRequests) {
        long geohash = S2Manager.generateGeohash(putPointRequest.getGeoPoint());
        long hashKey = S2Manager.generateHashKey(geohash, config.getHashKeyLength());
        String geoJson = GeoJsonMapper.stringFromGeoObject(putPointRequest.getGeoPoint());

        PutRequest putRequest = putPointRequest.getPutRequest();
        AttributeValue hashKeyValue = new AttributeValue().withN(String.valueOf(hashKey));
        putRequest.getItem().put(config.getHashKeyAttributeName(), hashKeyValue);
        putRequest.getItem().put(config.getRangeKeyAttributeName(), putPointRequest.getRangeKeyValue());
        AttributeValue geohashValue = new AttributeValue().withN(Long.toString(geohash));
        putRequest.getItem().put(config.getGeohashAttributeName(), geohashValue);
        AttributeValue geoJsonValue = new AttributeValue().withS(geoJson);
        putRequest.getItem().put(config.getGeoJsonAttributeName(), geoJsonValue);

        WriteRequest writeRequest = new WriteRequest(putRequest);
        writeRequests.add(writeRequest);
    }//from   w w  w .  j  ava2 s. co  m
    Map<String, List<WriteRequest>> requestItems = new HashMap<String, List<WriteRequest>>();
    requestItems.put(config.getTableName(), writeRequests);
    batchItemRequest.setRequestItems(requestItems);
    BatchWriteItemResult batchWriteItemResult = config.getDynamoDBClient().batchWriteItem(batchItemRequest);
    BatchWritePointResult batchWritePointResult = new BatchWritePointResult(batchWriteItemResult);
    return batchWritePointResult;
}

From source file:dynamok.sink.DynamoDbSinkTask.java

License:Apache License

private Map<String, List<WriteRequest>> toWritesByTable(Iterator<SinkRecord> recordIterator) {
    final Map<String, List<WriteRequest>> writesByTable = new HashMap<>();
    for (int count = 0; recordIterator.hasNext() && count < config.batchSize; count++) {
        final SinkRecord record = recordIterator.next();
        final WriteRequest writeRequest = new WriteRequest(toPutRequest(record));
        writesByTable.computeIfAbsent(tableName(record), k -> new ArrayList<>(config.batchSize))
                .add(writeRequest);//from w  ww  .j a va2 s.  c om
    }
    return writesByTable;
}

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 {//ww  w .ja v  a2  s  .  c  om
            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();/*  www.  j  av a  2  s  . c o m*/
    try {
        waitOnBufferFull();
        m_bufferCount++;
        m_writeBuffer.add(new WriteRequest(new PutRequest(entry)));
    } finally {
        m_mutatorLock.unlock();
    }
}