首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ListCollections没有在Android中列出正确的集合

ListCollections没有在Android中列出正确的集合
EN

Stack Overflow用户
提问于 2018-11-02 11:39:32
回答 1查看 156关注 0票数 0

好吧,我已经被困在这里一个多星期了,我知道这是个愚蠢的错误。只是搞不清楚。我正在做一个有两个平台的项目,安卓和iOS。这是一款面部识别应用。当我尝试从iOS应用程序和python脚本创建/访问集合时,它们都从我的AWS帐户访问相同的集合。

但是当我尝试从Android应用程序访问时,它会创建/访问它自己的集合。Android应用程序创建的集合除了这个Android应用程序之外,其他地方都无法访问,这个安卓应用程序也不能访问iOS应用程序或python创建的集合。

我试过在这三个平台上列出集合。iOS和Python列出了完全相同的集合,而Android应用程序列出的集合仅由android应用程序创建。

下面是我用来在android上列出集合的代码:

代码语言:javascript
运行
复制
        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代码:

代码语言:javascript
运行
复制
import boto3
client = boto3.client('rekognition')
response = client.list_collections()
print(response['CollectionIds'])

其结果是:

‘i_facesbxyxxqxbxvxlxwx6x7xex5xmxfx’,'root_faces_data‘

就这样。没别的了。只有这个密码。您可以看到,一个是显示3个集合,而另一个是显示两个。我在iOS应用程序中使用完全相同的区域和标识池ID,它列出了与python相同的集合。我认为iOS应用程序很好的原因是,iOS和python列出的集合是相同的。有什么我需要改变的吗?有什么额外的设置,我需要做的工作吗?请让我知道。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-03 05:48:48

所以和大多数时候一样,我救了自己。结果发现,当我们在Android中向Rekognition客户端传递认知凭证时,它使用的区域与科尼托的区域不同。因此,我们也必须显式地设置Rekognition客户端的区域。如下所示:

代码语言:javascript
运行
复制
mAmazonRekognitionClient.setRegion(Region.getRegion(Regions.US_EAST_2));

仅此而已。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53117918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档