in code_examples/java_examples/stored_video/java-rek-video.java [77:156]
public static void main(String[] args) throws Exception{
sqs = AmazonSQSClientBuilder.defaultClient();
rek = AmazonRekognitionClientBuilder.defaultClient();
//Change active start function for the desired analysis. Also change the GetResults function later in this code.
//=================================================
StartLabels(bucket, video);
//StartFaces(bucket,video);
//StartFaceSearchCollection(bucket,video);
//StartPersons(bucket,video);
//StartCelebrities(bucket,video);
//StartModerationLabels(bucket,video);
//=================================================
System.out.println("Waiting for job: " + startJobId);
//Poll queue for messages
List<Message> messages=null;
int dotLine=0;
boolean jobFound=false;
//loop until the job status is published. Ignore other messages in queue.
do{
messages = sqs.receiveMessage(queueUrl).getMessages();
if (dotLine++<20){
System.out.print(".");
}else{
System.out.println();
dotLine=0;
}
if (!messages.isEmpty()) {
//Loop through messages received.
for (Message message: messages) {
String notification = message.getBody();
// Get status and job id from notification.
ObjectMapper mapper = new ObjectMapper();
JsonNode jsonMessageTree = mapper.readTree(notification);
JsonNode messageBodyText = jsonMessageTree.get("Message");
ObjectMapper operationResultMapper = new ObjectMapper();
JsonNode jsonResultTree = operationResultMapper.readTree(messageBodyText.textValue());
JsonNode operationJobId = jsonResultTree.get("JobId");
JsonNode operationStatus = jsonResultTree.get("Status");
System.out.println("Job found was " + operationJobId);
// Found job. Get the results and display.
if(operationJobId.asText().equals(startJobId)){
jobFound=true;
System.out.println("Job id: " + operationJobId );
System.out.println("Status : " + operationStatus.toString());
if (operationStatus.asText().equals("SUCCEEDED")){
//Change to match the start function earlier in this code.
//============================================
GetResultsLabels();
//GetResultsFaces();
//GetResultsFaceSearchCollection();
//GetResultsPersons();
//GetResultsCelebrities();
//GetResultsModerationLabels();
//============================================
}
else{
System.out.println("Video analysis failed");
}
sqs.deleteMessage(queueUrl,message.getReceiptHandle());
}
else{
System.out.println("Job received was not job " + startJobId);
//Delete unknown message. Consider moving message to dead letter queue
sqs.deleteMessage(queueUrl,message.getReceiptHandle());
}
}
}
} while (!jobFound);
System.out.println("Done!");
}