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
)]
)