В настоящее время я работаю с Amazon Webservices.
Я создаю одну функцию лямбда Java, используя Eclipse IDE
.Amazon Lambda Java Функция не вставляет данные в DynamoDB
После создания функции в eclipse я тестирую функцию затмения, используя JUnit Test.
Лямбда-функция выполняется успешно, а также успешно вставлены данные в DynamoDB
.
Но проблема заключается в:
Я бегу функцию лямбда из Eclipse, используя Run функции на AWS Lambda функциональности.
Данные не вставляются и исключаются.
Я также проверяю этот метод, используя API Gateway
, но получаю такое же исключение.
Исключение:java.lang.IllegalArgumentException: AWS credential profiles file not found in the given path: /home/sbx_user1051/.aws/credentials
Пожалуйста, друзья Помогите мне решить эту проблему.
ПРИМЕЧАНИЕ: Я уже добавил полное разрешение как для лямбда-функции, так и для 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. –
Ok Подождите, я вернусь после создания объекта, как вы особняк выше. –
Его работы. Но можешь ли ты сказать мне еще одну вещь? Если я использую только «DynamoDB dynamoDB = новый DynamoDB (новый AmazonDynamoDBClient()), будет ли возникать любая проблема? –