Я сам недавно попал в ту же проблему. Это, безусловно, слепое место в документации Лямбды AWS для Java, на мой взгляд.
Этот фрагмент код в Java должен работать для вас, при условии, что вы используете AWS SDK для Java API документов:
DynamoDB dynamodb = new DynamoDB(
new AmazonDynamoDBClient(new EnvironmentVariableCredentialsProvider()));
Основная идея состоит в том, чтобы использовать EnvironmentVariableCredentialsProvider для доступа необходимых учетных данных для доступа к вашему другим Ресурсы AWS в контейнере AWS Lambda. Контейнеры Lambda поставляются с учетными данными как переменные среды, и этого достаточно для их извлечения.
Примечание: Это создает экземпляр DynamoDB, который видит ресурсы только в области по умолчанию. Для того, чтобы создать для конкретного региона, использовать это (если вы хотите получить доступ к DynamoDB находится в ар-северо-восток-1 регион):
DynamoDB dynamodb = new DynamoDB(
Regions.getRegion(Regions.AP_NORTHEAST_1).createClient(
AmazonDynamoDBClient.class,
new EnvironmentVariableCredentialsProvider(),
new ClientConfiguration()));
Почему бы вам не попробовать прямо без каких-либо полномочий? вы уже работаете на AWS, поэтому он должен сделать вывод, что вы использовали для подключения лямбда, поэтому он должен работать. – gerosalesc
Вы имеете в виду просто позвонить. Клиент DynamoDbClient = новый dynamoDbClient(); а затем нормальный материал. Неужели это так просто? Можете ли вы это подтвердить? –
Насколько я сейчас должен работать, но не пробовал это в прошлом – gerosalesc