要解决“AWS API Gateway的基于自定义请求的Lambda授权程序未对API创新触发”的问题,您可以按照以下步骤进行操作:
def lambda_handler(event, context):
# 获取API Gateway传递的参数
method = event['httpMethod']
headers = event['headers']
query_string_parameters = event['queryStringParameters']
# 在这里实现您的自定义授权逻辑
# 如果授权成功,返回希望API Gateway转发的请求
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': 'Authorized request'
}
在Lambda函数的配置中,确保您已将API Gateway作为触发器添加到Lambda函数中。
在AWS API Gateway控制台中,找到您的API并打开它。
在API的资源中,找到您希望添加自定义授权的资源。
在资源的方法中,选择您希望使用自定义授权的HTTP方法(例如GET、POST等)。
在方法的设置中,选择“使用Lambda代理集成”。
在“Lambda函数”字段中,选择您在第1步中创建的Lambda函数。
确保选择“代理请求”和“代理响应”。
在“授权”部分,选择“自定义授权”。
在“自定义授权Lambda函数”字段中,选择您在第1步中创建的Lambda函数。
点击“保存”以保存API的更改。
现在,您的API Gateway将使用自定义授权程序来验证请求。您可以根据您的实际需求在自定义授权Lambda函数中实现适当的授权逻辑。