Ich möchte AWS Lambda verwenden, um eine Cronjob-Stil HTTP-Anfrage zu machen. Leider kenne ich Python nicht.Lambda-Funktion, um einfache HTTP-Anfrage zu machen
Ich fand, dass sie eine "Kanarienvogel" -Funktion hatten, die dem zu ähneln scheint, was ich will. Wie kann ich dies vereinfachen, um einfach die HTTP-Anfrage zu stellen? Ich muss nur eine PHP-Datei auslösen.
from __future__ import print_function
from datetime import datetime
from urllib2 import urlopen
SITE = 'https://www.amazon.com/' # URL of the site to check
EXPECTED = 'Online Shopping' # String expected to be on the page
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('Checking {} at {}...'.format(SITE, event['time']))
try:
if not validate(urlopen(SITE).read()):
raise Exception('Validation failed')
except:
print('Check failed!')
raise
else:
print('Check passed!')
return event['time']
finally:
print('Check complete at {}'.format(str(datetime.now())))
Danke für die Hilfe - ich fühle mich so dumm so eine einfache Sache zu fragen, aber ich habe nie gelernt, Python und alle Sprachen, die ich kenne, sind nicht auf ihrer Liste :) –
Werde dieser Lauf in dem Frequenzsatz in Lambda? Wo ist das in dieser Funktion eingestellt? –
Mein Verständnis ist, dass Sie die AWS Lambda-Konsole oder CLI verwenden, um die Häufigkeit anzugeben. Wenn Sie nach einem Funktionsnamen gefragt werden, geben Sie " .lambda_handler" an, und die obige Funktion wird mit der von Ihnen angegebenen Häufigkeit aufgerufen. –