Skip to content

Instantly share code, notes, and snippets.

View mikebroberts's full-sized avatar

Mike Roberts mikebroberts

View GitHub Profile
@mikebroberts
mikebroberts / WhatIsMyLambdaEvent.java
Created October 24, 2017 21:23
Java AWS Lambda to log inbound event - useful when you don't know what structure an event has
package io.symphonia;
import java.io.InputStream;
import java.io.OutputStream;
public class WhatIsMyLambdaEvent {
public void handler(InputStream is, OutputStream os) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
System.out.println(s.hasNext() ? s.next() : "No input detected");
}
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.*;
public class MyLambda {
private final DynamoDB dynamoDB;
private final String tableName;
public MyLambda() {
this.dynamoDB = new DynamoDB(AmazonDynamoDBClientBuilder.defaultClient());
this.tableName = System.getenv("LOCATIONS_TABLE");
public class MyLambda {
private static final String containerId = java.util.UUID.randomUUID().toString();
public String handler(String input) throws Exception {
Thread.sleep(5000);
return "This is function instance " + containerId;
}
}
public void handler(S3Put input) {
final String key = input.Records.get(0).s3.object.key;
System.out.println("S3 PUT happened! Key was: " + key);
}
public class MyLambda {
public void handler(S3Put input) {
// Execution code will go here
}
public static class S3Put {
public java.util.List<S3PutRecord> Records;
public static class S3PutRecord {
public S3PutRecordS3 s3;
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.11.226</version>
</dependency>
</dependencies>
public class MyLambda {
private static final String containerId = java.util.UUID.randomUUID().toString();
public String handler(String input) {
return "This is function instance " + containerId;
}
}
public class MyLambda {
public String handler(Object input) {
return "Hello Lambda";
}
}
public int containerExecutionCount = 0;
public void handler(Map<String, List<S3PutRecord>> input) {
final String key = input.get("Records").get(0).s3.object.key;
System.out.println("S3 PUT happened! Key was: " + key);
throw new RuntimeException("Throwing exception. This container has processed " + ++containerExecutionCount + " events");
}
package io.symphonia;
public class MyLambda {
public void handler(String input) {
String message = String.format("Hello, %s!", input);
System.out.println(message);
}
}