小编Sun*_*e17的帖子

获取 Lambda 上经过身份验证(确认)的用户的用户名?

在移动应用程序中注册的帐户经过验证后,我希望 Lambda 函数接收用户 ID。由于这个原因,我在 API Gateway 中创建了 POST API。选中“使用调用者凭据调用”,并将身体映射模板添加为

{ "identity": "$input.params('identity')" }
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我在 API Gateway 中测试它时,它给出了 HTTP 错误 404-Not Found 错误。

print context.identity
Run Code Online (Sandbox Code Playgroud)

结果为

<_main__.CognitoIdentity object at 0x7eg6f79v2bed2>
Run Code Online (Sandbox Code Playgroud)

&

print context.identity.cognito_identity_id
Run Code Online (Sandbox Code Playgroud)

结果为

None
Run Code Online (Sandbox Code Playgroud)

甚至,当我从移动应用程序尝试时,只有在输入验证码后,屏幕上才会显示 HTTP 错误 404-未找到警报。我已将 AWSLambdaFullAccess 策略和 AmazonAPIGatewayInvokeFullAccess 策略等所有权限授予 Cognito(Auth 和 UnAuth)IAM 角色。如果您让我知道问题的解决方案,我将很高兴。

Lamda 错误API Gateway PUSH API 设置API Gateway PUSH API 方法

amazon-web-services amazon-cognito aws-lambda aws-api-gateway

5
推荐指数
1
解决办法
4925
查看次数

获取 Firestore 中玩家的排名

我在 Firestore 中有 10k 个用户,每个用户\xe2\x80\x99s documentId 是他们的 uid,分数已注册到他们的文档中。为了找到Leaderboard的Top 20,它成功地根据其分数查询了Top 20用户,就像使用复合索引一样。

\n\n
let query = usersRef.order(by: scores, descending: true).limit(to: 20)\nquery.getDocuments() //to get 20 documents\n
Run Code Online (Sandbox Code Playgroud)\n\n

不幸的是,我找不到一种方法来处理当前未参与前20名的玩家的排名(索引号)。为什么Firestore不返回基于每个用户的查询的排名(索引号)\xe2 \x80\x99s uid?或者有其他方法可以解决 Firestore 中的问题吗?

\n

firebase google-cloud-firestore

5
推荐指数
1
解决办法
1566
查看次数