接受来自带有 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
我将在 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