[源自AWS ApiGateway Lambda Proxy access Authorizer]
我在ApiGateway中使用了Lambda代理和Cognito用户池授权程序。使用node.js Lambda函数,可以访问event.requestContext.authorizer.claims
中的授权者(基本上,获取用户ID,电子邮件和内容)。
但是在Python中,没有这样的对象。探索event
对象和context
对象显示没有像requestContext
或authorizer
这样的内容,只包含一个包含Cognito Federated Identities信息的identity
对象:对我来说,它只是null
。
我在Python AWS-Lambda函数中没有看到event.requestContext.authorizr.claims
的任何提及,这将是一个痛苦
AWS_IAM
并启用Invoke with caller credential
你知道我是否遗漏了什么,如果它没有被AWS实施,是否有简单的解决方法或其他什么?
非常感谢你的帮助!
这是python aws-lambda函数中的上下文对象,类似于字典:
"aws_request_id":"99XXXXf5-6XXe-1XX8-bXXf-5dXXXXXXXX50",
"function_name":"test_DynamoDB",
"function_version":"$LATEST",
"invoked_function_arn":"arn:aws:lambda:eu-west-3:4XXXXXXXXXX0:function:test_DynamoDB",
"log":"<bound method LambdaContext.log of <__main__.LambdaContext object at 0x7f07bcb21da0>>",
"log_group_name":"/aws/lambda/test_DynamoDB",
"log_stream_name":"2018/06/13/[$LATEST]76XXXXXXXXXXXXXXXXXXXXXXXXXXXXf0",
"memory_limit_in_mb":"128",
"identity":{
"cognito_identity_id":null,
"cognito_identity_pool_id":null
},
"client_context": None
从https://stackoverflow.com/a/44039371/9936457来看,似乎同样的问题出现在C#lambda函数中,并且使用System.IO.Streams有一个解决方法。这个解决方案是否可以在Python中使用正确的语法?