Add lambda handler
parent
698801349c
commit
6a4c75db9b
@ -0,0 +1,38 @@
|
||||
import os
|
||||
from datetime import datetime
|
||||
from urllib.request import Request, urlopen
|
||||
|
||||
SITE = os.environ['site'] # URL of the site to check, stored in the site environment variable
|
||||
EXPECTED = os.environ['expected'] # String expected to be on the page, stored in the expected environment variable
|
||||
|
||||
|
||||
def validate(res):
|
||||
"""
|
||||
Return False to trigger the canary
|
||||
|
||||
Currently this simply checks whether the EXPECTED string is present.
|
||||
However, you could modify this to perform any number of arbitrary
|
||||
checks on the contents of SITE.
|
||||
"""
|
||||
|
||||
return EXPECTED in res
|
||||
|
||||
|
||||
def lambda_handler(event, context):
|
||||
print(f"Checking {SITE} at {event['time']}...")
|
||||
|
||||
try:
|
||||
req = Request(SITE, headers={'User-Agent': 'AWS Lambda'})
|
||||
if not validate(str(urlopen(req).read())):
|
||||
raise Exception('Validation failed')
|
||||
|
||||
except Exception:
|
||||
print('Check failed!')
|
||||
raise
|
||||
|
||||
else:
|
||||
print('Check passed!')
|
||||
return event['time']
|
||||
|
||||
finally:
|
||||
print(f"Checking complete at {str(datetime.now())}")
|
@ -1,16 +0,0 @@
|
||||
# This is a sample Python script.
|
||||
|
||||
# Press Shift+F10 to execute it or replace it with your code.
|
||||
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
|
||||
|
||||
|
||||
def print_hi(name):
|
||||
# Use a breakpoint in the code line below to debug your script.
|
||||
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
|
||||
|
||||
|
||||
# Press the green button in the gutter to run the script.
|
||||
if __name__ == '__main__':
|
||||
print_hi('PyCharm')
|
||||
|
||||
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
|
Loading…
Reference in New Issue