/
Process_Kinesis_Fnord.py
46 lines (39 loc) · 3.72 KB
/
Process_Kinesis_Fnord.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# testing string for base64 encoded string = QnVzdXUJcGMJMjAxNi0wOS0yODA4OjE3OjU0LjI0MwkyMDE2LTA5LTI4MDg6MTY6NTUuNzE1CTIwMTYtMDktMjgwODoxNjo1NS42ODcJc3RydWN0CTEwNjVjZTFiLTM2MzQtNDczMS1iOGRlLWY0MDk4OTUyNzE2MQlweS0wLjcuMglzc2MtMC42LjAta2luZXNpcwlraW5lc2lzLTAuOC4xLWNvbW1vbi0wLjIzLjEJMTIzNDU2ODExCTE5NS4xMTAuNjkuODYJOTVkNmQzMWMtYzA0ZC00ZWQxLThiMjktMTczMGYJR0IJSDkJTG9uZG9uCUVDNE4JNTEuNTE0MjA2CS0wLjA5MzA5Mzg3CUxvbmRvbglQdXJjaGFzZWQJNk1vbnRocwkxXzFfMV8xX0cJNjkuOTkJcHl0aG9uLXJlcXVlc3RzLzIuMTEuMQllbmMJRXVyb3BlL0xvbmRvbgkyMDE2LTA5LTI4MDg6MTY6NTUuNzE1CWNvbS5nb29nbGUuYW5hbHl0aWNzCWV2ZW50CWpzb25zY2hlbWEJMS0wLTBIOQlMb25kb24JRUM0Tgk1MS41MTQyMDYJLTAuMDkzMDkzODcJTG9uZG9uCVB1cmNoYXNlZAk2TW9udGhzCTFfMV8xXzFfRwk2OS45OQlweXRob24tcmVxdWVzdHMvMi4xMS4xCWVuYwlFdXJvcGUvTG9uZG9uCTIwMTYtMDktMjgwODoxNjo1NS43MTUJY29tLmdvb2dsZS5hbmFseXRpY3MJZXZlbnQJanNvbnNjaGVtYQkxLTAtMEg5CUxvbmRvbglFQzROCTUxLjUxNDIwNgktMC4wOTMwOTM4NwlMb25kb24JUHVyY2hhc2VkCTZNb250aHMJMV8xXzFfMV9HCTY5Ljk5CXB5dGhvbi1yZXF1ZXN0cy8yLjExLjEJZW5jCUV1cm9wZS9Mb25kb24JMjAxNi0wOS0yODA4OjE2OjU1LjcxNQljb20uZ29vZ2xlLmFuYWx5dGljcwlldmVudAlqc29uc2NoZW1hCTEtMC0wSDkJTG9uZG9uCUVDNE4JNTEuNTE0MjA2CS0wLjA5MzA5Mzg3CUxvbmRvbglQdXJjaGFzZWQJNk1vbnRocwkxXzFfMV8xX0cJNjkuOTkJcHl0aG9uLXJlcXVlc3RzLzIuMTEuMQllbmMJRXVyb3BlL0xvbmRvbgkyMDE2LTA5LTI4MDg6MTY6NTUuNzE1CWNvbS5nb29nbGUuYW5hbHl0aWNzCWV2ZW50CWpzb25zY2hlbWEJMS0wLTBIOQlMb25kb24JRUM0Tgk1MS41MTQyMDYJLTAuMDkzMDkzODcJTG9uZG9uCVB1cmNoYXNlZAk2TW9udGhzCTFfMV8xXzFfRwk2OS45OQlweXRob24tcmVxdWVzdHMvMi4xMS4xCWVuYwlFdXJvcGUvTG9uZG9uCTIwMTYtMDktMjgwODoxNjo1NS43MTUJY29tLmdvb2dsZS5hbmFseXRpY3MJZXZlbnQJanNvbnNjaGVtYQkxLTAtMEg5CUxvbmRvbglFQzROCTUxLjUxNDIwNgktMC4wOTMwOTM4NwlMb25kb24JUHVyY2hhc2VkCTZNb250aHMJMV8xXzFfMV9HCTY5Ljk5CXB5dGhvbi1yZXF1ZXN0cy8yLjExLjEJZW5jCUV1cm9wZS9Mb25kb24JMjAxNi0wOS0yODA4OjE2OjU1LjcxNQljb20uZ29vZ2xlLmFuYWx5dGljcwlldmVudAlqc29uc2NoZW1hCTEtMC0wSDkJTG9uZG9uCUVDNE4JNTEuNTE0MjA2CS0wLjA5MzA5Mzg3CUxvbmRvbglQdXJjaGFzZWQJNk1vbnRocwkxXzFfMV8xX0cJNjkuOTkJcHl0aG9uLXJlcXVlc3RzLzIuMTEuMQllbmMJRXVyb3BlL0xvbmRvbgkyMDE2LTA5LTI4MDg6MTY6NTUuNzE1CWNvbS5nb29nbGUuYW5hbHl0aWNzCWV2ZW50CWpzb25zY2hlbWEJMS0wLTBIOQlMb25kb24JRUM0Tgk1MS41MTQyMDYJLTAuMDkzMDkzODcJTG9uZG9uCVB1cmNoYXNlZAk2TW9udGhzCTFfMV8xXzFfRwk2OS45OQlweXRob24tcmVxdWVzdHMvMi4xMS4xCWVuYwlFdXJvcGUvTG9uZG9uCTIwMTYtMDktMjgwODoxNjo1NS43MTUJY29tLmdvb2dsZS5hbmFseXRpY3MJZXZlbnQJanNvbnNjaGVtYQkxLTAtMA==
from __future__ import print_function
from botocore.vendored import requests
import base64
import json
print('Loading function')
key = '7ce17c273559653b041e8df9e7f65716453ceffd'
def lambda_handler(event, context):
for record in event['Records']:
# Kinesis data is base64 encoded so decode here
print(record['kinesis']['data'])
payload = base64.b64decode(record['kinesis']['data'])
# Change from tab delimited to dict
paramstring = payload.split("\t")
print(paramstring)
# Grab the fields I want
if paramstring[5] == "struct" and paramstring[53] != "page_view":
print("entered struct clause")
event = paramstring[53]
uid = paramstring[12]
params = paramstring[56]
params = json.loads(params.replace("'", '"'))
# print(event)
# print(ts)
# print(language_learned)
# print(interface_language)
# print(platform)
# print(uid)
# print(params)
# Ping to Fnord
url = "http://10.0.52.22:9050/metrics"
data = "metric=events&value=1&label[event_name]=%s&label[uid]=%s" % (event, uid)
r = requests.post(url, data=data)
if r.status_code == 201:
print("Sent paywall_viewed with status code")
else:
print('Something went wrong')
else:
continue