Как подключиться к динамодб из лямбды - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь подключиться к DynamoDB из лямбда-функции Java, она работает локально с профилем aws ~ / .aws / credentials. Как это будет работать в среде AWS, поскольку я не могу установить данные профиля в файле учетных данных?

private static AmazonDynamoDB dynamoClient = AmazonDynamoDBClientBuilder.standard()
        .withEndpointConfiguration(
                new AwsClientBuilder.EndpointConfiguration("https://dynamodb.us-west-2.amazonaws.com", "us-west-2"))
        .withCredentials(new EnvironmentVariableCredentialsProvider()).build();

1 Ответ

0 голосов
/ 13 января 2019

По умолчанию ваша функция использует свою роль для запуска и выполнения вызовов API. В этом случае вы устанавливаете .withCredentials(new EnvironmentVariableCredentialsProvider()), что означает, что Lambda просматривает переменные среды AWS_ACCESS_KEY_ID (или AWS_ACCESS_KEY) и AWS_SECRET_KEY (или AWS_SECRET_ACCESS_KEY).

Итак, ваши 2 варианта:

  1. Удалите .withCredentials(new EnvironmentVariableCredentialsProvider()) и настройте правильную роль для функции, которая имеет разрешения, соответствующие логике вашей функции.
  2. Предоставьте AWS_ACCESS_KEY_ID и AWS_SECRET_KEY для вашей функции.

Если у вас нет веских причин, перейдите к варианту 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...