2017-05-25 2 views
0

Je vais héberger le code suivant dans une fonction AWS Lambda.Accepter les paramètres des URLs avec 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() 

Je dois être en mesure de passer des paramètres à l'URL où cette fonction est hébergé afin de passer dans le « nom » et les variables « email » d'une autre application. Les variables de nom et d'email seront formatées dans l'url quand la fonction est appelée mais comment les recevoir dans cette fonction?

+0

que voulez-vous dire par les recevoir –

Répondre

0

Je l'ai compris après quelques essais et erreurs. Je devais juste mettre mes variables de nom et d'email dans request.args.get() et puis from flask import request

0

Si vous utilisez la passerelle API et aws intégration proxy lambda, alors tout ce que vous passez à GET comme params, comme param1 = quelque chose & param2 = somethingelse finit dans le dictionnaire sous objet event, comme ceci:

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