AWS APIGateway - python lambda 上的 Cors 错误
AWS APIGateway - Cors error on python lambda
当我从 postman 访问我的 lambda 端点时,我能够成功触发 lambda,但是在我使用 fetch 的 React 应用程序中,我收到了 CORs 错误。
使用 CDK 我已经允许了我的域。
cdk restapi 配置
defaultCorsPreflightOptions:{
allowOrigins: ["https://example.com"],
allowMethods: Cors.ALL_METHODS,
allowHeaders: Cors.DEFAULT_HEADERS
}
lambda.py
import boto3
from botocore.exceptions
def handle_request(event, context):
body = json.loads(event['body'])
try:
email_client.send_email(
Source=CONFIGURATION.from_email,
Destination={
'ToAddresses': CONFIGURATION.to_emails
},
Message={
'Subject': {
'Data': 'Form Submission'
},
'Body': {
'Html': {
'Data': build_email_body(body)
}
}
}
)
res = {
'headers': {
"Access-Control-Allow-Headers": "*",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "*"
},
"statusCode": 200,
"body": "{\"result\": \"Success.\"}"
}
return res
这是由于代码中的格式错误造成的,与 COR 无关。在这里检查格式可以帮助定位问题https://codebeautify.org/python-formatter-beautifier
当我从 postman 访问我的 lambda 端点时,我能够成功触发 lambda,但是在我使用 fetch 的 React 应用程序中,我收到了 CORs 错误。
使用 CDK 我已经允许了我的域。
cdk restapi 配置
defaultCorsPreflightOptions:{
allowOrigins: ["https://example.com"],
allowMethods: Cors.ALL_METHODS,
allowHeaders: Cors.DEFAULT_HEADERS
}
lambda.py
import boto3
from botocore.exceptions
def handle_request(event, context):
body = json.loads(event['body'])
try:
email_client.send_email(
Source=CONFIGURATION.from_email,
Destination={
'ToAddresses': CONFIGURATION.to_emails
},
Message={
'Subject': {
'Data': 'Form Submission'
},
'Body': {
'Html': {
'Data': build_email_body(body)
}
}
}
)
res = {
'headers': {
"Access-Control-Allow-Headers": "*",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "*"
},
"statusCode": 200,
"body": "{\"result\": \"Success.\"}"
}
return res
这是由于代码中的格式错误造成的,与 COR 无关。在这里检查格式可以帮助定位问题https://codebeautify.org/python-formatter-beautifier