in Airmiles/post-airmiles-lambda.py [0:0]
def handler(event, context):
message = event['Records'][0]['Sns']['Message']
print("From SNS: " + message)
for record in event['Records']:
if 'aws:sns' == record['EventSource'] and record['Sns']['Message']:
json_msg = json.loads(record['Sns']['Message'])
booking_number = str(json_msg['booking_number'])
from_airport = json_msg['from_airport']
to_airport = json_msg['to_airport']
departure_date = json_msg['departure_date']
airmiles = random.randint(50, 1000)
print("got booking info from sns: " + str(booking_number) + from_airport + to_airport + departure_date + str(airmiles))
# insert into DynamoDB
table = dynamodb.Table(TABLE_NAME)
response = table.put_item(
Item={
'booking_number': booking_number,
'from_airport': from_airport,
'to_airport': to_airport,
'departure_date': departure_date,
'airmiles': str(int(math.floor(airmiles)))
}
)
print("PutItem succeeded. Response is: " + str(response))
return message