接受来自带有 python 的网址的参数

Accept params from urls with python

我将在 AWS Lambda 函数中托管以下代码。

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/indoc@{}/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()

我需要能够将参数传递给托管此函数的 url,以便从另一个应用程序传递 "name" 和 "email" 变量。调用函数时,名称和电子邮件变量将被格式化为 url 但我如何在此函数中接收它们?

如果您正在使用 API 网关和 aws lambda 代理集成,那么无论您作为参数传递给 GET,例如 param1=something¶m2=somethingelse,最终都会出现在 event 对象下的字典中,就像这样:

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

经过反复试验,我弄明白了。我只需要将我的姓名和电子邮件变量放在 request.args.get() 中,然后是 from flask import request