Как установить 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