public String handleRequest()

in src/main/java/software/aws/glue/tableversions/lambda/TableVersionsCleanupLambda.java [44:70]


	public String handleRequest(SQSEvent event, Context context) {

		String region = Optional.ofNullable(System.getenv("region")).orElse("us-east-1");
		String ddbTableName = Optional.ofNullable(System.getenv("ddb_table_name"))
				.orElse("glue_table_version_cleanup_statistics");
		String hashKey = Optional.ofNullable(System.getenv("hash_key")).orElse("execution_id");
		String rangeKey = Optional.ofNullable(System.getenv("range_key")).orElse("execution_batch_id");
		int numberofVersionsToRetain = Ints
				.tryParse(Optional.ofNullable(System.getenv("number_of_versions_to_retain")).orElse("100"));

		System.out.println("Region: " + region);
		System.out.println("Number of table versions to retain: " + numberofVersionsToRetain);
		System.out.println("DynamoDB Table to track statistics: " + ddbTableName);

		AWSGlue glueClient = AWSGlueClientBuilder.standard().withRegion(region).build();
		AmazonDynamoDB dynamoDBClient = AmazonDynamoDBClientBuilder.standard().withRegion(region).build();

		if (numberofVersionsToRetain < 50) {
			throw new RuntimeException();
		} else {
			System.out.println("Number of messages in SQS Event: " + event.getRecords().size());
			List<SQSMessage> sqsMessages = event.getRecords();
			processEvent(glueClient, dynamoDBClient, sqsMessages, numberofVersionsToRetain, ddbTableName, hashKey,
					rangeKey);
		}
		return "SNS event to Lambda processed successfully!";
	}