def provision_slas_streaming_resources()

in stacks/metrics_streamer.py [0:0]


    def provision_slas_streaming_resources(self):
        """ Provisions metrics streaming AWS resources. """

        sla_kinesis_resources = KinesisConstruct(
            self,
            'sla-kinesis-streaming-resources',
            bucket_arn = self.bucket_arn,
            prefix = 'slas/'+core.Aws.REGION+'/!{timestamp:yyyy}/!{timestamp:MM}/!{timestamp:dd}/!{timestamp:HH}/',
            errorOutputPrefix = 'sla_errors/!{timestamp:yyyy}/!{timestamp:MM}/!{timestamp:dd}/!{timestamp:HH}/!{firehose:error-output-type}',
            database='data_governance',
            table='slas'
        )

        _sla_lambda_resource = SLAStreamerConstruct(
            self,
            'slas_publishing_lambda',
            stream_name=sla_kinesis_resources.kinesis_stream.stream_name,
            stream_arn=sla_kinesis_resources.kinesis_stream.stream_arn
        )

        aws_events.Rule(
            self,
            id='sla_event_rule',
            schedule=aws_events.Schedule.cron(), # every minute
            targets=[aws_events_targets.LambdaFunction(
                handler=_sla_lambda_resource.function
            )]
        )