简体   繁体   English

如何在Amazon Rekognition中启动流处理器

[英]How to start the stream processor in Amazon Rekognition

I followed the AWS Rekognition Developer Guide and wrote a stream processor using CreateStreamProcessor in Java. 我遵循了《 AWS Rekognition开发人员指南》,并使用Java使用CreateStreamProcessor编写了一个流处理器。

import com.amazonaws.services.rekognition.AmazonRekognition;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
import com.amazonaws.services.rekognition.model.*;

public class StreamProcessor {
    private String streamProcessorName;
    private String kinesisVideoStreamArn;
    private String kinesisDataStreamArn;
    private String roleArn;
    private String collectionId;
    private float matchThreshold;
    private AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();

public void createStreamProcessor() {
    KinesisVideoStream kinesisVideoStream = new KinesisVideoStream().withArn(kinesisVideoStreamArn);
    StreamProcessorInput streamProcessorInput = new StreamProcessorInput().withKinesisVideoStream(kinesisVideoStream);
    KinesisDataStream kinesisDataStream = new KinesisDataStream().withArn(kinesisDataStreamArn);
    StreamProcessorOutput streamProcessorOutput = new StreamProcessorOutput().withKinesisDataStream(kinesisDataStream);
    FaceSearchSettings faceSearchSettings = new FaceSearchSettings().withCollectionId(collectionId)
            .withFaceMatchThreshold(matchThreshold);
    StreamProcessorSettings streamProcessorSettings = new StreamProcessorSettings().withFaceSearch(faceSearchSettings);
    CreateStreamProcessorResult createStreamProcessorResult = rekognitionClient.createStreamProcessor(
            new CreateStreamProcessorRequest().withInput(streamProcessorInput).withOutput(streamProcessorOutput)
                    .withSettings(streamProcessorSettings).withRoleArn(roleArn).withName(streamProcessorName));
    System.out.println("StreamProcessorArn - " +
            createStreamProcessorResult.getStreamProcessorArn());
}

public void startStreamProcessor() {
    StartStreamProcessorResult startStreamProcessorResult = rekognitionClient.startStreamProcessor(
            new StartStreamProcessorRequest().withName(streamProcessorName));
}

public void stopStreamProcessorSample() {
    StopStreamProcessorResult stopStreamProcessorResult = rekognitionClient.stopStreamProcessor(
            new StopStreamProcessorRequest().withName(streamProcessorName));
}

public void deleteStreamProcessorSample() {
    DeleteStreamProcessorResult deleteStreamProcessorResult = rekognitionClient.deleteStreamProcessor(
            new DeleteStreamProcessorRequest().withName(streamProcessorName));
}

public void describeStreamProcessorSample() {
    DescribeStreamProcessorResult describeStreamProcessorResult = rekognitionClient.describeStreamProcessor(
            new DescribeStreamProcessorRequest().withName(streamProcessorName));
    System.out.println("Arn - " + describeStreamProcessorResult.getStreamProcessorArn());
    System.out.println("Input kinesisVideo stream - " + describeStreamProcessorResult.getInput()
            .getKinesisVideoStream().getArn());
    System.out.println("Output kinesisData stream - " + describeStreamProcessorResult.getOutput()
            .getKinesisDataStream().getArn());
    System.out.println("RoleArn - " + describeStreamProcessorResult.getRoleArn());
    System.out.println("CollectionId - " + describeStreamProcessorResult.getSettings().getFaceSearch()
            .getCollectionId());
    System.out.println("Status - " + describeStreamProcessorResult.getStatus());
    System.out.println("Status message - " + describeStreamProcessorResult.getStatusMessage());
    System.out.println("Creation timestamp - " + describeStreamProcessorResult.getCreationTimestamp());
    System.out.println("Last updatClient rekognitionClient = new AmazonRekognitionClient()e timestamp - "
            + describeStreamProcessorResult.getLastUpdateTimestamp());
}

public void listStreamProcessorSample() {
    ListStreamProcessorsResult listStreamProcessorsResult = rekognitionClient.listStreamProcessors(
            new ListStreamProcessorsRequest().withMaxResults(100));
    for (com.amazonaws.services.rekognition.model.StreamProcessor streamProcessor :
            listStreamProcessorsResult.getStreamProcessors()) {
        System.out.println("StreamProcessor name - " + streamProcessor.getName());
        System.out.println("Status - " + streamProcessor.getStatus());
    }
}

} }

But I can't figure out how to start the stream processor? 但是我不知道如何启动流处理器? Do I have to simply write the main method and call createStreamProcessor() function? 我是否只需编写main方法并调用createStreamProcessor()函数? Or do I have to do something else: like the guide mentioned something as StartStreamProcessor ? 还是我必须做其他事情:就像指南中提到的StartStreamProcessor

是的,您必须使用以下API启动流预处理器: https : //docs.aws.amazon.com/rekognition/latest/dg/API_StartStreamProcessor.html

rekognitionClient.startStreamProcessor(name= "my-stream-1")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM