2017-05-25 3 views
0

Ich werde den folgenden Code in einer AWS Lambda-Funktion hosten.Akzeptiere Params von URLs mit Python

def indoctrination(params=params): 
time1 = datetime.utcnow() + timedelta(days=1) 
time2 = datetime.utcnow() + timedelta(days=2) 
time3 = datetime.utcnow() + timedelta(days=3) 
requests.post('https://api.mailgun.net/v3/lists/[email protected]{}/members'.format(domain_url), 
      auth=auth, 
      data={'subscribed': True, 
        'address': email, 
        'name': name}) 
email_1 = requests.post('https://api.mailgun.net/v3/{}/messages'.format(domain_url), 
      auth=auth, 
      data={"from": from_email, 
        "to": '{} <{}>'.format(name, email), 
        "subject": "Welcom to Python Financial", 
        "html": open("templates/email1.html")}) 
print 'Response status code: ', email_1.status_code 
print 'Data: ', email_1.json() 
email_2 = requests.post('https://api.mailgun.net/v3/{}/messages'.format(domain_url), 
      auth=auth, 
      data={"from": from_email, 
        "to": '{} <{}>'.format(name, email), 
        "subject": "Notes and Pizza!", 
        "html": open("templates/email2.html"), 
        "o:deliverytime": time1.strftime("%a, %d %b %Y %H:%M:%S +0000")}) 
print 'Response status code: ', email_2.status_code 
print 'Data: ', email_2.json() 
email_3 = requests.post('https://api.mailgun.net/v3/{}/messages'.format(domain_url), 
      auth=auth, 
      data={"from": from_email, 
        "to": '{} <{}>'.format(name, email), 
        "subject": "Your questions answered", 
        "html": open("templates/email3.html"), 
        "o:deliverytime": time2.strftime("%a, %d %b %Y %H:%M:%S +0000")}) 
print 'Response status code: ', email_3.status_code 
print 'Data: ', email_3.json() 
email_4 = requests.post('https://api.mailgun.net/v3/{}/messages'.format(domain_url), 
      auth=auth, 
      data={"from": from_email, 
        "to": '{} <{}>'.format(name, email), 
        "subject": "Why are we not doing this?", 
        "html": open("templates/email4.html"), 
        "o:deliverytime": time3.strftime("%a, %d %b %Y %H:%M:%S +0000")}) 
print 'Response status code: ', email_4.status_code 
print 'Data: ', email_4.json() 

Ich muss in der Lage sein, Parameter an die URL übergeben, wo diese Funktion, um die gehostet wird in den „Namen“ zu übergeben und „E-Mail“ Variablen aus einer anderen Anwendung. Der Name und die E-Mail-Variablen werden beim Aufruf der Funktion in die URL formatiert, aber wie erhalte ich sie in dieser Funktion?

+0

setzen, was meinst du mit erhalten sie –

Antwort

0

Ich habe es nach etwas Versuch und Irrtum herausgefunden. Ich musste nur meinen Namen und E-Mail-Variablen in request.args.get() und dann from flask import request

0

Wenn Sie API-Gateway und aws Lambda-Proxy-Integration verwenden, was auch immer Sie dann passieren, wie params zu bekommen, wie param1 = etwas & param2 = somethingelse endet im Wörterbuch unter event Objekt nach oben, etwa so:

def indoctrination(event, context): 
    print(event['queryStringParameters']['param1']) 
    print(event['queryStringParameters']['param2'])