Search in sources :

Example 1 with KinesisEventRecord

use of com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord in project bender by Nextdoor.

the class TestUtils method createEvent.

public static KinesisEvent createEvent(Class clazz, String resource) throws UnsupportedEncodingException, IOException {
    /*
     * Create a kinesis record from a sample JSON file
     */
    String json = IOUtils.toString(new InputStreamReader(clazz.getResourceAsStream(resource), "UTF-8"));
    Date approximateArrivalTimestamp = new Date();
    approximateArrivalTimestamp.setTime(1478737790000l);
    Record rec = new Record();
    rec.withPartitionKey("1").withSequenceNumber("2").withData(ByteBuffer.wrap(json.getBytes())).withApproximateArrivalTimestamp(approximateArrivalTimestamp);
    /*
     * Create a KinesisEventRecord and add single Record
     */
    KinesisEventRecord krecord = new KinesisEventRecord();
    krecord.setKinesis(rec);
    krecord.setEventSourceARN("arn:aws:kinesis:us-east-1:1234:stream/test-events-stream");
    krecord.setEventID("shardId-000000000000:1234");
    /*
     * Add single KinesisEventRecord to a KinesisEvent
     */
    KinesisEvent kevent = new KinesisEvent();
    List<KinesisEventRecord> events = new ArrayList<KinesisEventRecord>(1);
    events.add(krecord);
    kevent.setRecords(events);
    return kevent;
}
Also used : KinesisEventRecord(com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord) InputStreamReader(java.io.InputStreamReader) ArrayList(java.util.ArrayList) Record(com.amazonaws.services.lambda.runtime.events.KinesisEvent.Record) KinesisEventRecord(com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord) Date(java.util.Date) KinesisEvent(com.amazonaws.services.lambda.runtime.events.KinesisEvent)

Example 2 with KinesisEventRecord

use of com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord in project bender by Nextdoor.

the class KinesisHandler method handler.

public void handler(KinesisEvent event, Context context) throws HandlerException {
    if (!initialized) {
        init(context);
    }
    KinesisHandlerConfig handlerConfig = (KinesisHandlerConfig) this.config.getHandlerConfig();
    this.recordIterator = new KinesisEventIterator(context, event.getRecords(), handlerConfig.getAddShardIdToPartitions());
    /*
     * Get processors based on the source stream ARN
     */
    KinesisEventRecord firstRecord = event.getRecords().get(0);
    this.source = SourceUtils.getSource(firstRecord.getEventSourceARN(), sources);
    super.process(context);
}
Also used : KinesisEventRecord(com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord)

Aggregations

KinesisEventRecord (com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord)2 KinesisEvent (com.amazonaws.services.lambda.runtime.events.KinesisEvent)1 Record (com.amazonaws.services.lambda.runtime.events.KinesisEvent.Record)1 InputStreamReader (java.io.InputStreamReader)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1