这个错误是由于用户 "anonymous" 没有权限执行 AWS API Gateway 的 API 导致的。为了解决这个问题,你可以按照以下步骤进行操作:
下面是一个使用 AWS API Gateway 和 AWS Lambda 的示例代码,用于处理一个需要身份验证的 API 请求:
import json
def lambda_handler(event, context):
# 检查用户是否已经进行了身份验证
if 'requestContext' not in event or 'authorizer' not in event['requestContext']:
# 返回错误响应,表示用户没有进行身份验证
return {
'statusCode': 401,
'body': json.dumps('用户未经身份验证')
}
# 从授权信息中获取用户的 ID
user_id = event['requestContext']['authorizer']['claims']['sub']
# 处理 API 请求,并根据用户的 ID 返回相应的结果
# ...
# 返回成功响应
return {
'statusCode': 200,
'body': json.dumps('API 请求成功')
}
在上述示例中,我们首先检查请求中是否存在授权信息,如果不存在则返回身份验证错误。然后,我们从授权信息中获取用户的 ID,并根据用户的 ID 执行相应的操作。你可以根据自己的需求进行修改和扩展。