【发布时间】:2019-04-06 15:49:50
【问题描述】:
好吧,我已经在这里被困了大约一个多星期了,我知道这是一个愚蠢的错误。就是想不通。我正在开发一个可用于两个平台的项目,Android 和 iOS。它是一种面部识别应用程序。 当我尝试从 iOS 应用程序和 python 脚本创建/访问集合时,它们都从我的 AWS 账户访问同一个集合。
但是当我尝试从 Android 应用程序访问时,它会创建/访问它自己的集合。 Android 应用程序创建的集合在除此 Android 应用程序之外的任何地方均无法访问,此 Android 应用程序也无法访问由 iOS 应用程序或 python 脚本创建的集合。
我已经尝试在所有这三个平台上列出集合。 iOS 和 Python 列出完全相同的集合,而 Android 应用列出的集合仅由 android 应用创建。
这是我用来在 android 上列出集合的代码:
mCredentialsProvider = new CognitoCachingCredentialsProvider(
mContext.getApplicationContext(),
"us-east-2:4xbx0x6x-9xbx-xax7-x9xf-x5x0xexfx1xb", // Identity pool ID
Regions.US_EAST_2 // Region
);
mAmazonRekognitionClient = new AmazonRekognitionClient(mCredentialsProvider);
ListCollectionsResult listCollectionsResult = mAmazonRekognitionClient.listCollections(new ListCollectionsRequest().withMaxResults(20));
Log.i(TAG, listCollectionsResult.getCollectionIds().toString());
这是日志结果:
[i_facesbxyxuxqxbxvxlxwx6x7xex5xmxfx, i_facestxnxaxoxoxqxaxwx4xtxuxwxoxrx, root_faces_data]
这是我用来列出集合的 python 代码:
import boto3
client = boto3.client('rekognition')
response = client.list_collections()
print(response['CollectionIds'])
这是结果:
['i_facesbxyxuxqxbxvxlxwx6x7xex5xmxfx', 'root_faces_data']
就是这样。没有其他的。就这一段代码。您可以看到一个显示 3 个集合,而另一个显示两个。 我在 iOS 应用程序中使用完全相同的区域和身份池 ID,它列出了与 python 中相同的集合。 我认为iOS应用程序很好的原因是iOS和python列出的集合是相同的。 我有什么需要改变的吗?我需要做任何额外的设置才能让它工作吗? 请告诉我。谢谢。
【问题讨论】:
标签: android amazon-web-services aws-sdk amazon-cognito amazon-rekognition