AWS. NET SDK работает для DynamoDB, а не для S3 - PullRequest
0 голосов
/ 26 февраля 2020

Я запускаю приложение. NET Core Web API, где я инициализирую DynamoDB и S3 с конечными точками локального стека:

services.AddSingleton<IAmazonDynamoDB>(sp =>
{
      var clientConfig = new AmazonDynamoDBConfig { ServiceURL = "http://localhost:4569" };
      return new AmazonDynamoDBClient(clientConfig);
});
services.AddSingleton<IAmazonS3>(sp =>
{
       var clientConfig = new AmazonS3Config { ServiceURL = "http://localhost:4572" };
       return new AmazonS3Client(clientConfig);
});

Я запустил службы DynamoDB и S3 на локальном стоке. Когда я пытаюсь использовать сервисы (через клиентов IAmazonDynamoDB и IAmazonS3 с уважением) DynamoDB работает как чудо, в то время как S3 выдает "имя узла или имя сервера не предоставлено, или не известно" исключение. Есть идеи, что не так?

Я запускаю локальный стек из последнего docker образа, если это может быть связано.

1 Ответ

0 голосов
/ 26 февраля 2020

Обнаружил здесь , что необходимо добавить ForcePathStyle = true

Так что в основном для конфигурации S3, которая работает:

services.AddSingleton<IAmazonS3>(sp =>
{
   var clientConfig = 
       new AmazonS3Config { ServiceURL = "http://localhost:4572", ForcePathStyle = true };
   return new AmazonS3Client(clientConfig);

});

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