0

嗨,我是 Amazon AWS 的新手,我正在尝试为我的 android 应用程序设置 DynamoDB。

我已经使用以下方式在 Elastic Beanstalk 上部署了匿名 TVM:http: //aws.amazon.com/code/8872061742402990

当我通过网络浏览器访问 mytvm.elasticbeanstalk.com 时,我能够加载显示 TVM 正在匿名注册上运行的页面。

  1. 我很难理解在 IAM 中创建的 TVMUser 是如何链接到 elasticbeanstalk 的。

我开始使用 TVM,方法是将 tvm 的 src 复制到我的 android 应用程序中,并执行类似 aws 示例中所示的过程。

  1. 我无法完全确定我的 TVM 是否与 Android 应用程序一起正常运行。我尝试运行 awssdk 的示例。但是当我点击表或在我的 DynamoDB 上什么都不做时,Userprefrences 应用程序不会创建表(我通过 aws ddb 控制台看到它)。我尝试查看 logcat,但没有出现错误。

  2. 在我的应用程序中,我在下面的代码中的 putItem() 处获得了 NullPointerException:

    AmazonDynamoDBClient ddb = HomeActivity.clientManager.ddb();
    
    try{
    
       HashMap< String, AttributeValue > item = new HashMap< String, AttributeValue >();
    
        AttributeValue email = new AttributeValue(testEmail);
        item.put("email", email);
        //email and jot are strings and they are fine when printed in Log.
        AttributeValue atrjot = new AttributeValue().withS(jot);
        item.put("jot", atrjot);
        PutItemRequest request = new PutItemRequest().withTableName(PropertyLoader.getInstance().getTableName()).withItem(item);
        ddb.putItem(request);
        Log.e("insertJot", "Succeffull!");
    }catch (AmazonServiceException ex) {
        Log.e("insertJot", "error");
        HomeActivity.clientManager
        .wipeCredentialsOnAuthError(ex);
    }
    

我觉得 logcat 中的两个项目可以提供一些线索:

04-12 11:39:00.577:I/TokenVendingMachineService(1161):发送请求:[http://mytvm.elasticbeanstalk.com/registerdevice?uid=e3f2a3dbe19a8b99cc9732a8044ccb08&key=258bec0be21ca04f2bf2464a2c0ae151]

04-12 11:39:00.637:W/AmazonTVMClient(1161):对令牌自动售货机的请求失败,代码:[0] 消息:[null]

此外,我收到以下 AndroidRuntime 错误:

04-12 11:39:00.777: D/AndroidRuntime(1161): 关闭 VM 04-12 11:39:00.777: W/dalvikvm(1161): threadid=1: 线程退出未捕获异常 (group=0x40a71930) 04 -12 11:39:00.797: E/AndroidRuntime(1161): 致命异常: main 04-12 11:39:00.797: E/AndroidRuntime(1161): java.lang.NullPointerException

完整的 logcat 可以在这里看到:http: //pastebin.com/u2eyh2ME

我已经被这个问题困扰了很长时间,并且无法在其他任何地方找到适当的文档或帮助,任何帮助将不胜感激。谢谢!

4

0 回答 0