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