public Void handleRequest()

in src/com/amazonaws/lab/HealthDataEventHandler.java [33:75]


    public Void handleRequest(SQSEvent input, Context context) {
    	List<SQSMessage> records = input.getRecords();
    	log.debug("The records received size : "+records.size());
    	String sKey = "";
    	String sBucket = "";
    	String sFileName = "";
    	String sUUID = "";
		for(SQSMessage msg : records) {
			String body = msg.getBody();
			log.debug("The message body : "+ msg.getBody());
			
			S3EventNotification s3EventNotf = S3EventNotification.parseJson(body);
			log.debug("The S3 notification body : "+ s3EventNotf.getRecords());
			List<S3EventNotificationRecord> s3EventRecords = s3EventNotf.getRecords();
			for(S3EventNotificationRecord s3EventRec : s3EventRecords) {
				sKey = s3EventRec.getS3().getObject().getKey();
				sBucket = s3EventRec.getS3().getBucket().getName();
				sUUID = UUID.randomUUID().toString();
				sFileName = FilenameUtils.getName(sKey) + "-" + sUUID;
			}
		}
		
		// Write object to /processing/<s3Key>
		final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
		try {
		    s3.copyObject(sBucket, sKey, sBucket, "processing/" + sKey + "-" + sUUID);
		    s3.deleteObject(sBucket, sKey);
		} catch (AmazonServiceException e) {
		    log.debug(e.getErrorMessage());
		}
		
		
		String sfnInput = "{\"S3Bucket\":\"" + sBucket +"\", \"FileName\":\"" + sFileName +"\", \"InputFile\":\"" + "processing/" + sKey + "-" + sUUID +"\"}";
		log.debug("Step functions input is : "+sfnInput);
		AWSStepFunctions sfnClient = AWSStepFunctionsClient.builder().build();
		StartExecutionRequest excReq = new StartExecutionRequest();
		excReq.setStateMachineArn(STATE_MACHINE_ARN);
		excReq.setInput(sfnInput);
		
		sfnClient.startExecution(excReq);
		
        return null;
    }