DynamoDBLocal отвергает мои полномочия, несмотря на documentation о том, что действительные учетные данные не нужны:DynamoDBLocal Сбой по проверке полномочий
В SDKs AWS для DynamoDB требуют, чтобы конфигурация приложения указать значение ключа доступа и значение AWS региона ... они не должны быть действительными значениями AWS для локального запуска.
В этом случае, я создал свои полномочия ~/.aws/credentials
как:
[default]
aws_access_key_id = BogusAwsAccessKeyId
aws_secret_access_key = BogusAwsSecretAccessKey
выполнения DynamoDBLocal с помощью:
java -Djava.library.path=./DynamoDBLoc_lib -jar DynamoDBLocal.jar
проверили, что он работает, нажав http://localhost:8000/shell/
затем запустите мое тестовое приложение Java:
DefaultAWSCredentialsProviderChain credentialProvider = new DefaultAWSCredentialsProviderChain();
AWSCredentials awsCredentials = credentialProvider.getCredentials();
log.info("creds \"{}\", \"{}\"", awsCredentials.getAWSAccessKeyId(), awsCredentials.getAWSSecretKey());
AmazonDynamoDBClient client = new AmazonDynamoDBClient(credentialProvider);
client.withEndpoint("http://localhost:8000");
client.withRegion(Regions.US_WEST_2);
dynamoDB = new DynamoDB(client);
try {
TableCollection<ListTablesResult> tables = dynamoDB.listTables();
while (tables.iterator().hasNext()) { // <-- exception thrown here
log.info(tables.iterator().next().getTableName());
}
} catch (Exception e) {
log.error("", e);
}
, что приводит к этому выходу:
кредитки "BogusAwsAccessKeyId", "BogusAwsSecretAccessKey" com.amazonaws.AmazonServiceException: Маркер безопасности включен в запрос недействителен. (Service: AmazonDynamoDBv2; Код состояния: 400; Код ошибки: UnrecognizedClientException
Любые мысли о том, почему это касается достоверности учетных данных
Вы правы Я прокомментировал 'withRegion()', и он продолжал работать thly. Интересно, что DynamoDBLocal.UsageNotes говорит, что «файл базы данных будет называться myaccesskeyid_region.db с идентификатором ключа доступа и регистром AWS, как они появляются в конфигурации вашего приложения», поэтому я его установил (а также позже когда я перехожу к фактическому AWS, я хочу быть в этом регионе). Во всяком случае, хороший улов, спасибо! :) – Bex