如何更改身份池 ID 中的区域?

How to change the Region in identity pool ID?

我正在开发移动应用程序。我在其中使用亚马逊 s3 服务。为此,我制作了一个身份池。但是当它创建时,它会自动将身份池 ID 中的区域设置为 US-EAST-2。现在的问题是当我使用这段代码时

CognitoCachingCredentialsProvider credentialsProvider = new 
       CognitoCachingCredentialsProvider(
           getApplicationContext(),
           "us-east-2:*******", // Identity Pool ID
           Regions.US_EAST_2 // Region
);

第 5 行 代码 Region.US-East-2 给出错误 无法解析符号 US-East-2。 请帮帮我。 或者告诉我能否用我选择的区域创建一个身份池。

问题已解决:

实际上我使用的是旧版本的亚马逊移动 sdk,US-East-2 不包含在其中。当我使用最新版本的亚马逊移动 sdk 时,问题就解决了。

稍微扩展一下穆罕默德·阿卜杜拉对他自己的问题的回答。

使用过时的 SDK 确实是个问题。我在查看开发人员指南 (http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/setup.html) 时犯了这个错误,该指南在 SDK 上没有保持最新。

在他们的 github 页面 (https://github.com/aws/aws-sdk-android) 上,您可以找到最新版本的 SDK,而无需下载它们。找到当前版本号后,您只需更新 build.gradle 文件即可反映此较新版本。

例如,将 compile 'com.amazonaws:aws-android-sdk-core:2.2.+' 更改为 compile 'com.amazonaws:aws-android-sdk-core:2.4.+' 请注意,版本号的第三部分包含在 + 中,因此此处仅前两部分相关。