Skip to main content

CDK Constructs for deploying Amazon CloudWatch Events Rule that invokes Amazon Kinesis Data Stream

Project description

aws-events-rule-kinesisstreams module

---

Stability: Deprecated

Some of our early constructs don’t meet the naming standards that evolved for the library. We are releasing completely feature compatible versions with corrected names. The underlying implementation code is the same regardless of whether you deploy the construct using the old or new name. We will support both names for all 1.x releases, but in 2.x we will only publish the correctly named constructs. This construct is being replaced by the functionally identical aws-eventbridge-kinesisstreams.


Reference Documentation: https://docs.aws.amazon.com/solutions/latest/constructs/
Language Package
Python Logo Python aws_solutions_constructs.aws_events_rule_kinesisstreams
Typescript Logo Typescript @aws-solutions-constructs/aws-events-rule-kinesisstreams
Java Logo Java software.amazon.awsconstructs.services.eventsrulekinesisstreams

Overview

This AWS Solutions Construct implements an Amazon CloudWatch Events rule to send data to an Amazon Kinesis data stream.

Here is a minimal deployable pattern definition:

Typescript

// aws-events-rule-kinesisstreams has been deprecated for CDK V2 in favor of aws-eventbridge-kinesisstreams.
// This sample uses the CDK V1 syntax
import * as cdk from '@aws-cdk/core';
import * as events from '@aws-cdk/aws-events';
import { EventsRuleToKinesisStreams, EventsRuleToKinesisStreamsProps } from "@aws-solutions-constructs/aws-events-rule-kinesisstreams";

const constructProps: EventsRuleToKinesisStreamsProps = {
  eventRuleProps: {
    schedule: events.Schedule.rate(cdk.Duration.minutes(5)),
  }
};

new EventsRuleToKinesisStreams(this, 'test-events-rule-kinesis-streams', constructProps);

Python

# aws-events-rule-kinesisstreams has been deprecated for CDK V2 in favor of aws-eventbridge-kinesisstreams.
# This sample uses the CDK V1 syntax
from aws_solutions_constructs.aws_events_rule_kinesis_streams import EventsRuleToKinesisStreams, EventsRuleToKinesisStreamsProps
from aws_cdk import (
    aws_events as events,
    core
)

EventsRuleToKinesisStreams(self, 'test_events_rule_kinesis_streams',
                        event_rule_props=events.RuleProps(
                            schedule=events.Schedule.rate(
                                core.Duration.minutes(5)),
                        ))

Java

// aws-events-rule-kinesisstreams has been deprecated for CDK V2 in favor of aws-eventbridge-kinesisstreams.
// This sample uses the CDK V1 syntax
import software.constructs.Construct;

import software.amazon.awscdk.core.*;
import software.amazon.awscdk.services.events.*;
import software.amazon.awsconstructs.services.eventsrulekinesisstreams.*;

new EventsRuleToKinesisStreams(this, "test-events-rule-kinesis-streams",
        new EventsRuleToKinesisStreamsProps.Builder()
                .eventRuleProps(new RuleProps.Builder()
                        .schedule(Schedule.rate(Duration.minutes(5)))
                        .build())
                .build());

Pattern Construct Props

Name Type Description
existingEventBusInterface? events.IEventBus Optional user-provided custom EventBus for construct to use. Providing both this and eventBusProps results an error.
eventBusProps? events.EventBusProps Optional user-provided properties to override the default properties when creating a custom EventBus. Setting this value to {} will create a custom EventBus using all default properties. If neither this nor existingEventBusInterface is provided the construct will use the default EventBus. Providing both this and existingEventBusInterface results an error.
eventRuleProps events.RuleProps User provided eventRuleProps to override the defaults.
existingStreamObj? kinesis.Stream Existing instance of Kinesis Stream, providing both this and kinesisStreamProps will cause an error.
kinesisStreamProps? kinesis.StreamProps Optional user-provided props to override the default props for the Kinesis stream.
createCloudWatchAlarms boolean Whether to create recommended CloudWatch alarms.

Pattern Properties

Name Type Description
eventBus? events.IEventBus Returns the instance of events.IEventBus used by the construct
eventsRule events.Rule Returns an instance of events.Rule created by the construct.
kinesisStream kinesis.Stream Returns an instance of the Kinesis stream created by the pattern.
eventsRole? iam.Role Returns an instance of the iam.Role created by the construct for events rule.
cloudwatchAlarms? cloudwatch.Alarm[] Returns an instance of the cloudwatch.Alarm[] created by the construct.

Default settings

Out of the box implementation of the Construct without any override will set the following defaults:

Amazon CloudWatch Events Rule

  • Configure least privilege access IAM role for Events Rule to publish to the Kinesis Data Stream.

Amazon Kinesis Stream

  • Enable server-side encryption for Kinesis Data Stream using AWS Managed KMS Key.

Architecture

Architecture Diagram


© Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page