def create_realtime_logs_configuration()

in custom-resource/lambda_function.py [0:0]


def create_realtime_logs_configuration(event):
    role_arn = event['ResourceProperties']['RoleArn']
    stream_arn = event['ResourceProperties']['StreamArn']
    stack_name = event['ResourceProperties']['StackName']
    sampling_rate = int(event['ResourceProperties']['SamplingRate'])
    fields = []
    data = {}
    try:
        with open('cf_realtime_log_fields_sample.json') as f:
            data = json.load(f)
            print(json.dumps(data))

        for field, field_type in data['cf_realtime_log_fields'].items():
            fields.append(field)

        print('fields: ' + json.dumps(fields))
        response = cloudfront.create_realtime_log_config(
            EndPoints=[
                {
                    'StreamType': 'Kinesis',
                    'KinesisStreamConfig': {
                        'RoleARN': role_arn,
                        'StreamARN': stream_arn
                    }
                }
            ],
            Fields=fields,
            Name=stack_name,
            SamplingRate=sampling_rate
        )
        print(response)
    except Exception as e:
        print(e)
        helper.init_failure(e)