"""AWS Lambda Container Experiment.""" import os import time import cowsay def handler(event, context): """Entrypoint.""" version = os.environ.get('version', None) start = time.time() result = fibonacci(event['n']) runtime = time.time() - start char = os.environ.get('char', 'cow') if char not in cowsay.char_names: raise Exception(f'{char} not in {cowsay.char_names}') getattr(cowsay, char)(f'{result:,}') return { 'result': result, 'runtime': runtime, 'version': version, 'character': char } def fibonacci(n): """Return fibinacci number in sequence.""" if n <= 0: raise Exception(f'{n} <= 0') elif n == 1: return 0 elif n == 2: return 1 else: return fibonacci(n-1) + fibonacci(n-2)