Issue was with str. Lambda had the following error
descriptor 'lower' requires a 'str' object but received a 'unicode': TypeError
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 213, in handler
records = list(processRecords(event['records'],streamARN))
File "/var/task/lambda_function.py", line 113, in processRecords
data = ''.join([transformLogEvent(e,data['owner'],arn,data['logGroup'],data['logStream'],data['subscriptionFilters'][0]) for e in data['logEvents']])
File "/var/task/lambda_function.py", line 82, in transformLogEvent
if "prod" in str.lower(loggrp):
TypeError: descriptor 'lower' requires a 'str' object but received a 'unicode'
Changed str.lower(loggrp): to unicode.lower(loggrp) and it is now working and sending to prod or nonprod index depending on cloudwatch log group.
... View more