我的lambda函數正在接收一個上下文。如何從Python AWS Lambda函數訪問context.identity?
def lambda_handler(event, context):
logger.info(context.function_name)
logger.info(context.identity)
logger.info(context.cognito_identity_id)
logger.info(context.identity.cognito_identity_id)
return 'hello world'
日誌接收到函數名,並記錄內存地址爲context.identity
。但context.cognito_identity_id
和context.identity.cognito_identity_pool_id
報告爲None
。
我如何獲得cognito_identity_id
填充?
從AWS API Gateway構建的類中的Xcode調試器我可以看到私有變量`_configuration._credentialsProvider._identityId設置正確。但是這個值並沒有傳遞給我的AWS Lambda函數。
我無法找到如何獲得通過。我讀過這個page,我期望它被覆蓋。
另外: 從lambda函數我登出dir(context.identity)
給['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', 'cognito_identity_id', 'cognito_identity_pool_id']
這表明cognito_identity_id
和cognito_identity_id
是實際存在的。
我認爲AWS網關 - > AWS Lambda沒有免費設置身份 - 我缺少一些配置 - 可能是映射模板。
你通過AWS移動SDK調用lambda函數? –
我正在使用API網關來調用Lambda函數。但它的名稱應該沒有區別。我只需要記錄對象 – Carl
該文檔位於您鏈接的頁面上:http://docs.aws.amazon.com/lambda/latest/dg/python-context-object.html標識「有關Amazon Cognito身份提供者的信息當通過AWS Mobile SDK調用時,它可以爲空。「 –