首页 > 解决方案 > AWSRekognition - 如何区分每个用户账户的集合/面孔?

问题描述

感谢 AWS 移动 SDK,它是探索 AWS 服务并将其集成到我们的移动应用程序中的绝佳方式。

我有这个问题好几天了,但还没有想出如何解决。

下面是我的系统图:

我的系统图

  1. 从应用程序,我向我的服务器发出请求,将当前的userId.
  2. 我的服务器调用在步骤 1 中收到的GetOpenIdTokenForDeveloperIdentity()每个。(在数组中指定)到userIdLoginsAWS Cognito
  3. AWS Cognito返回IdentityToken我的服务器
  4. 我的服务器返回IdentityToken我的应用程序
  5. ListCollections()然后我的应用AWSRecognition.default()程序调用AWS Rekognition
  6. 最后,AWS Rekognition返回collectionIds

一切似乎都很好,但我注意到无论userId在第 2 步传入多少不同,collectionIds在第 6 步我都会得到相同的返回值。

例如:user1 (id: 1) 创建集合“AllowedGuest”。user2 (id: 2) 也收到了“AllowedGuest”

我以为每次userId传入,我只能获取由它创建的集合和人脸数据userId。因此,根据上面的示例: user2 (id: 2) 不应收到集合“AllowGuest”。

为什么我会收到这个问题?有什么我误解了吗?

提前致谢,

标签: amazon-web-servicesamazon-cognitoamazon-rekognition

解决方案


用户 ID 到底是什么?它是特定 AWS 账户的 IAM 用户吗?

AWS Rekognition ListCollection API 返回由该 AWS 账户的任何用户创建的所有集合,这解释了您获取所有集合的原因。

https://docs.aws.amazon.com/rekognition/latest/dg/API_ListCollections.html


推荐阅读