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