首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于Keystore异常,亚马逊DynamoDB未连接

由于Keystore异常,亚马逊DynamoDB未连接
EN

Stack Overflow用户
提问于 2021-09-17 20:55:03
回答 1查看 43关注 0票数 0

我有一个安卓应用程序上传一些字符串到亚马逊DynamoDB表。此应用程序使用cognitoUnauthenticated池。当我尝试将我的应用程序与亚马逊DynamoDB连接时,我得到了以下异常

代码语言:javascript
复制
E/KeyProvider23: Error in deleting the key for keyAlias: com.amazonaws.android.auth.aesKeyStoreAlias from Android KeyStore.
    java.security.KeyStoreException: Failed to delete entry: com.amazonaws.android.auth.aesKeyStoreAlias
        at android.security.keystore.AndroidKeyStoreSpi.engineDeleteEntry(AndroidKeyStoreSpi.java:879)
        at java.security.KeyStore.deleteEntry(KeyStore.java:1257)
        at com.amazonaws.internal.keyvaluestore.KeyProvider23.deleteKey(KeyProvider23.java:118)
        at com.amazonaws.internal.keyvaluestore.AWSKeyValueStore.retrieveEncryptionKey(AWSKeyValueStore.java:493)
        at com.amazonaws.internal.keyvaluestore.AWSKeyValueStore.get(AWSKeyValueStore.java:226)
        at com.amazonaws.auth.CognitoCachingCredentialsProvider.getCachedIdentityId(CognitoCachingCredentialsProvider.java:577)
        at com.amazonaws.auth.CognitoCachingCredentialsProvider.initialize(CognitoCachingCredentialsProvider.java:433)
        at com.amazonaws.auth.CognitoCachingCredentialsProvider.<init>(CognitoCachingCredentialsProvider.java:195)
        at com.mysample.servicesample.AmazonClientManager.lambda$initClients$0$AmazonClientManager(AmazonClientManager.java:40)
        at com.mysample.servicesample.-$$Lambda$AmazonClientManager$M9LDF0L5OYsIomcIVw0vQmIFrUc.run(Unknown Source:2)
        at java.lang.Thread.run(Thread.java:923)
2021-09-17 16:42:04.703 22047-22080/com.mysample.servicesample E/AWSKeyValueStore: Error in retrieving the decryption key used to decrypt the data from the persistent store. Returning null for the requested dataKey = us-east-2:XXXXXXXXXXXXXX-pool_Id.identityId

示例代码是

代码语言:javascript
复制
  private void initClients() {
    Thread thread = new Thread(() -> {
        CognitoCachingCredentialsProvider credentialsProvider = null;
        try {
            credentialsProvider = new CognitoCachingCredentialsProvider(
                    context.getApplicationContext(),
                    IDENTITY_POOL_ID,
                    Regions.US_EAST_2 // Region
            );

        } catch (Exception ex) {
            Log.e("Convo",ex.getMessage());
        }

        ddb = new AmazonDynamoDBClient(credentialsProvider);
        ddb.setRegion(Region.getRegion(Regions.US_EAST_2));
    });

    thread.start();
}
EN

回答 1

Stack Overflow用户

发布于 2021-10-23 17:02:14

要创建调用亚马逊服务(包括亚马逊DynamoDB )的原生安卓应用程序,请使用AWS SDK for Kotlin。请看这篇亚马逊网络服务教程,它将带你了解如何使用这个软件开发工具包创建一个与DynamoDB交互的安卓应用程序。

Creating your first Native Android application using the AWS SDK for Kotlin

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

https://stackoverflow.com/questions/69229368

复制
相关文章

相似问题

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