не может получить доступ к AWS DynamoDB из локального Java-приложения (за пределами облака) - PullRequest
0 голосов
/ 25 марта 2019

Я хотел получить доступ к DynamoDB (реальному, а не локальному) из приложения Java, работающего на моей локальной машине. Я устанавливаю переменные среды: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_DEFAULT_PROFILE.

Несмотря на это, я получаю сообщение об ошибке:

"com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: маркер безопасности, включенный в запрос, недействителен (Сервис: AmazonDynamoDBv2; Код состояния: 400; Код ошибки: UnrecognizedClientException"

Вот код (это Котлин):

val client = AmazonDynamoDBClientBuilder.standard()
        .withRegion(Regions.EU_WEST_1)
        .build()
val dynamoDB = DynamoDB(client)
val table = dynamoDB.getTable("SomeTable")
val key = "some-key-field"
val spec = GetItemSpec().withPrimaryKey("some-key-value", key)
val result = table.getItem(spec).toJSONPretty().toString()
println(result)
dynamoDB.shutdown()

Можно ли получить доступ к AWS DynamoDB из локального Java-приложения (JVM), как это? Чего здесь не хватает?

P.S:.

Я могу получить доступ к DynamoDB из интерфейса командной строки AWS, он работает, проблема связана с доступом из моего приложения.

Обновление:

Нашел, как установить учетные данные, но это не помогло.

val accessKey = System.getenv("AWS_ACCESS_KEY_ID")
val accessSec = System.getenv("AWS_SECRET_ACCESS_KEY")
val client = AmazonDynamoDBClientBuilder.standard()
        .withCredentials(AWSStaticCredentialsProvider(BasicAWSCredentials(accessKey, accessSec)))
        .withRegion(Regions.EU_WEST_1)
        .build()

Ошибка та же.

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