Как установить EndPoint/Region для С#.NET SDK: EC2Client?

В JAVA SDK можно установить конечную точку, см. здесь.

Но как это сделать для .NET SDK? И какие имена использовать?

Потому что кажется, что всегда используется конечная точка по умолчанию "Регион США (Северная Вирджиния)".

Ответ 1

Регионы и конечные точки можно найти здесь.

И пример того, как подключиться к ЕС:

AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client("key", "secret",
    new AmazonEC2Config
    {
        ServiceURL = "http://ec2.eu-west-1.amazonaws.com"
    }
);

Ответ 2

Вы также можете использовать определения конечных точек, поставляемые с Amazon SDK:

var ec2Client = new AmazonEC2Client(RegionEndpoint.EUWest1);

Поскольку я считаю, что жесткое кодирование таких значений, как адреса конечных точек, не является лучшей практикой, я использую более настраиваемую версию (т.е. конечную точку, настроенную из web.config/app.config):

var region = RegionEndpoint.GetBySystemName("eu-west-1");
var ec2Client = new AmazonEC2Client(region);

Ответ 3

Вы также можете определить область aws в конфигурационном файле, используя код региона:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="AWSProfileName" value="default"/>
    <add key="AWSRegion" value="eu-west-1"/>
  </appSettings>
</configuration>

Затем вы можете просто инициировать свой ec2Client без какого-либо региона:

var ec2Client = new AmazonEC2Client();
Console.WriteLine(ec2Client.Config.RegionEndpoint.DisplayName);

Вывод:

EU West (Ireland)

Регионы и конечная точка определены здесь: http://docs.aws.amazon.com/general/latest/gr/rande.html