目前我正在使用 Amazon Webservices。
我使用 Eclipse IDE
创建了一个 Java lambda 函数。
在 eclipse 中创建函数后,我使用 JUnit Test 测试函数 eclipse。
Lambda 函数成功执行,并成功将数据插入到 DynamoDB
。
但问题是:
我使用 在 AWS Lambda 上运行函数 功能从 Eclipse 在 lambda 上运行函数。
数据未插入并抛出异常。
我也使用 API Gateway
测试了这个方法,但得到了同样的异常。
异常: java.lang.IllegalArgumentException:在给定路径中找不到 AWS 凭证配置文件:/home/sbx_user1051/.aws/credentials
请各位 friend 帮我解决这个问题。
NOTE : I already added full permission for both Lambda Function and DynamoDB.
我正在使用以下代码将数据插入 DynamoDB
。
DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient(new ProfileCredentialsProvider("my_default_profile")));
Table table = dynamoDB.getTable(TABLE_NAME);
String login_id = (String) inputHashMap.get("login_id");
String password = (String) inputHashMap.get("password");
String type = (String) inputHashMap.get("type");
String device_id = (String) inputHashMap.get("device_id");
try {
Exception eItem item = new Item().withPrimaryKey("login_id", login_id)
.withString("device_id", device_id)
.withBoolean("isUserVerified", false)
.withString("password", password)
.withString("type", type);
table.putItem(item);
}
catch(Exception e){
}
最佳答案
请尝试在没有配置文件的情况下创建 DynamoDB 对象。
DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient());
关于java - Amazon Lambda Java 函数不向 DynamoDB 插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37067054/