Class CfnStreamProcessor

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:34.935Z") @Stability(Stable) public class CfnStreamProcessor extends CfnResource implements IInspectable
A CloudFormation AWS::Rekognition::StreamProcessor.

The AWS::Rekognition::StreamProcessor type creates a stream processor used to detect and recognize faces or to detect connected home labels in a streaming video. Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. There are two different settings for stream processors in Amazon Rekognition, one for detecting faces and one for connected home features.

If you are creating a stream processor for detecting faces, you provide a Kinesis video stream (input) and a Kinesis data stream (output). You also specify the face recognition criteria in FaceSearchSettings. For example, the collection containing faces that you want to recognize.

If you are creating a stream processor for detection of connected home labels, you provide a Kinesis video stream for input, and for output an Amazon S3 bucket and an Amazon SNS topic. You can also provide a KMS key ID to encrypt the data sent to your Amazon S3 bucket. You specify what you want to detect in ConnectedHomeSettings, such as people, packages, and pets.

You can also specify where in the frame you want Amazon Rekognition to monitor with BoundingBoxRegionsOfInterest and PolygonRegionsOfInterest. The Name is used to manage the stream processor and it is the identifier for the stream processor. The AWS::Rekognition::StreamProcessor resource creates a stream processor in the same Region where you create the Amazon CloudFormation stack.

For more information, see CreateStreamProcessor .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.rekognition.*;
 Object polygonRegionsOfInterest;
 CfnStreamProcessor cfnStreamProcessor = CfnStreamProcessor.Builder.create(this, "MyCfnStreamProcessor")
         .kinesisVideoStream(KinesisVideoStreamProperty.builder()
                 .arn("arn")
                 .build())
         .roleArn("roleArn")
         // the properties below are optional
         .boundingBoxRegionsOfInterest(List.of(BoundingBoxProperty.builder()
                 .height(123)
                 .left(123)
                 .top(123)
                 .width(123)
                 .build()))
         .connectedHomeSettings(ConnectedHomeSettingsProperty.builder()
                 .labels(List.of("labels"))
                 // the properties below are optional
                 .minConfidence(123)
                 .build())
         .dataSharingPreference(DataSharingPreferenceProperty.builder()
                 .optIn(false)
                 .build())
         .faceSearchSettings(FaceSearchSettingsProperty.builder()
                 .collectionId("collectionId")
                 // the properties below are optional
                 .faceMatchThreshold(123)
                 .build())
         .kinesisDataStream(KinesisDataStreamProperty.builder()
                 .arn("arn")
                 .build())
         .kmsKeyId("kmsKeyId")
         .name("name")
         .notificationChannel(NotificationChannelProperty.builder()
                 .arn("arn")
                 .build())
         .polygonRegionsOfInterest(polygonRegionsOfInterest)
         .s3Destination(S3DestinationProperty.builder()
                 .bucketName("bucketName")
                 // the properties below are optional
                 .objectKeyPrefix("objectKeyPrefix")
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnStreamProcessor

      protected CfnStreamProcessor(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnStreamProcessor

      protected CfnStreamProcessor(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnStreamProcessor

      @Stability(Stable) public CfnStreamProcessor(@NotNull Construct scope, @NotNull String id, @NotNull CfnStreamProcessorProps props)
      Create a new AWS::Rekognition::StreamProcessor.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      Amazon Resource Name for the newly created stream processor.
    • getAttrStatus

      @Stability(Stable) @NotNull public String getAttrStatus()
      Current status of the Amazon Rekognition stream processor.
    • getAttrStatusMessage

      @Stability(Stable) @NotNull public String getAttrStatusMessage()
      Detailed status message about the stream processor.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      A set of tags (key-value pairs) that you want to attach to the stream processor.

      For more information, see the Tags section of CreateStreamProcessor .

    • getKinesisVideoStream

      @Stability(Stable) @NotNull public Object getKinesisVideoStream()
      The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor.

      For more information, see KinesisVideoStream .

    • setKinesisVideoStream

      @Stability(Stable) public void setKinesisVideoStream(@NotNull CfnStreamProcessor.KinesisVideoStreamProperty value)
      The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor.

      For more information, see KinesisVideoStream .

    • setKinesisVideoStream

      @Stability(Stable) public void setKinesisVideoStream(@NotNull IResolvable value)
      The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor.

      For more information, see KinesisVideoStream .

    • getPolygonRegionsOfInterest

      @Stability(Stable) @NotNull public Object getPolygonRegionsOfInterest()
      A set of ordered lists of Point objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of Point objects. For more information, see the Polygon field of RegionOfInterest .
    • setPolygonRegionsOfInterest

      @Stability(Stable) public void setPolygonRegionsOfInterest(@NotNull Object value)
      A set of ordered lists of Point objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of Point objects. For more information, see the Polygon field of RegionOfInterest .
    • getRoleArn

      @Stability(Stable) @NotNull public String getRoleArn()
      The ARN of the IAM role that allows access to the stream processor.

      The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of CreateStreamProcessor .

    • setRoleArn

      @Stability(Stable) public void setRoleArn(@NotNull String value)
      The ARN of the IAM role that allows access to the stream processor.

      The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of CreateStreamProcessor .

    • getBoundingBoxRegionsOfInterest

      @Stability(Stable) @Nullable public Object getBoundingBoxRegionsOfInterest()
      List of BoundingBox objects, each of which denotes a region of interest on screen.

      For more information, see the BoundingBox field of RegionOfInterest .

    • setBoundingBoxRegionsOfInterest

      @Stability(Stable) public void setBoundingBoxRegionsOfInterest(@Nullable IResolvable value)
      List of BoundingBox objects, each of which denotes a region of interest on screen.

      For more information, see the BoundingBox field of RegionOfInterest .

    • setBoundingBoxRegionsOfInterest

      @Stability(Stable) public void setBoundingBoxRegionsOfInterest(@Nullable List<Object> value)
      List of BoundingBox objects, each of which denotes a region of interest on screen.

      For more information, see the BoundingBox field of RegionOfInterest .

    • getConnectedHomeSettings

      @Stability(Stable) @Nullable public Object getConnectedHomeSettings()
      Connected home settings to use on a streaming video.

      You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of StreamProcessorSettings .

    • setConnectedHomeSettings

      @Stability(Stable) public void setConnectedHomeSettings(@Nullable IResolvable value)
      Connected home settings to use on a streaming video.

      You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of StreamProcessorSettings .

    • setConnectedHomeSettings

      @Stability(Stable) public void setConnectedHomeSettings(@Nullable CfnStreamProcessor.ConnectedHomeSettingsProperty value)
      Connected home settings to use on a streaming video.

      You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of StreamProcessorSettings .

    • getDataSharingPreference

      @Stability(Stable) @Nullable public Object getDataSharingPreference()
      Allows you to opt in or opt out to share data with Rekognition to improve model performance.

      You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see StreamProcessorDataSharingPreference .

    • setDataSharingPreference

      @Stability(Stable) public void setDataSharingPreference(@Nullable IResolvable value)
      Allows you to opt in or opt out to share data with Rekognition to improve model performance.

      You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see StreamProcessorDataSharingPreference .

    • setDataSharingPreference

      @Stability(Stable) public void setDataSharingPreference(@Nullable CfnStreamProcessor.DataSharingPreferenceProperty value)
      Allows you to opt in or opt out to share data with Rekognition to improve model performance.

      You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see StreamProcessorDataSharingPreference .

    • getFaceSearchSettings

      @Stability(Stable) @Nullable public Object getFaceSearchSettings()
      The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor.

      For more information regarding the contents of the parameters, see FaceSearchSettings .

    • setFaceSearchSettings

      @Stability(Stable) public void setFaceSearchSettings(@Nullable IResolvable value)
      The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor.

      For more information regarding the contents of the parameters, see FaceSearchSettings .

    • setFaceSearchSettings

      @Stability(Stable) public void setFaceSearchSettings(@Nullable CfnStreamProcessor.FaceSearchSettingsProperty value)
      The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor.

      For more information regarding the contents of the parameters, see FaceSearchSettings .

    • getKinesisDataStream

      @Stability(Stable) @Nullable public Object getKinesisDataStream()
      Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input.

      This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at KinesisDataStream .

    • setKinesisDataStream

      @Stability(Stable) public void setKinesisDataStream(@Nullable IResolvable value)
      Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input.

      This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at KinesisDataStream .

    • setKinesisDataStream

      @Stability(Stable) public void setKinesisDataStream(@Nullable CfnStreamProcessor.KinesisDataStreamProperty value)
      Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input.

      This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at KinesisDataStream .

    • getKmsKeyId

      @Stability(Stable) @Nullable public String getKmsKeyId()
      The identifier for your Amazon Key Management Service key (Amazon KMS key).

      Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of CreateStreamProcessor .

    • setKmsKeyId

      @Stability(Stable) public void setKmsKeyId(@Nullable String value)
      The identifier for your Amazon Key Management Service key (Amazon KMS key).

      Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of CreateStreamProcessor .

    • getName

      @Stability(Stable) @Nullable public String getName()
      The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of StreamProcessor . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.
    • setName

      @Stability(Stable) public void setName(@Nullable String value)
      The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of StreamProcessor . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.
    • getNotificationChannel

      @Stability(Stable) @Nullable public Object getNotificationChannel()
      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation.

      Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see StreamProcessorNotificationChannel .

    • setNotificationChannel

      @Stability(Stable) public void setNotificationChannel(@Nullable IResolvable value)
      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation.

      Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see StreamProcessorNotificationChannel .

    • setNotificationChannel

      @Stability(Stable) public void setNotificationChannel(@Nullable CfnStreamProcessor.NotificationChannelProperty value)
      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation.

      Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see StreamProcessorNotificationChannel .

    • getS3Destination

      @Stability(Stable) @Nullable public Object getS3Destination()
      The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation.

      For more information, see the S3Destination section of StreamProcessorOutput .

    • setS3Destination

      @Stability(Stable) public void setS3Destination(@Nullable IResolvable value)
      The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation.

      For more information, see the S3Destination section of StreamProcessorOutput .

    • setS3Destination

      @Stability(Stable) public void setS3Destination(@Nullable CfnStreamProcessor.S3DestinationProperty value)
      The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation.

      For more information, see the S3Destination section of StreamProcessorOutput .