【问题标题】:How to set the EndPoint / Region for the C# .NET SDK : EC2Client?如何为 C# .NET SDK 设置端点/区域:EC2Client?
【发布时间】:2017-09-18 15:04:08
【问题描述】:

在 JAVA SDK 中可以设置端点,参见here

但是如何为 .NET SDK 做到这一点?以及要使用的名称是什么?

因为似乎总是使用默认端点“美国东部(弗吉尼亚北部)地区”。

【问题讨论】:

    标签: amazon-s3 region endpoint


    【解决方案1】:

    您还可以使用Amazon SDK 提供的端点定义:

    var ec2Client = new AmazonEC2Client(RegionEndpoint.EUWest1);
    

    由于我认为硬编码诸如端点地址之类的值不是最佳实践,我使用更多可配置版本(即从 web.config/app.config 配置的端点):

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

    【讨论】:

    • 这应该是正确的答案。当我在寻找可以传递给 GetBySystemName 方法的可能 SystemName 字符串列表时,我也遇到了这个问题......虽然我在这里没有找到答案,但我确实在github.com/xamarin/amazon/blob/master/AWSSDK/RegionEndpoint.cs 找到了它,供其他遇到这个问题的人使用寻找有效 SystemName 值的问题。
    • GetBySystemName 很有帮助!
    【解决方案2】:

    区域和端点可以在here找到。

    以及如何连接到欧盟的示例:

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

    【讨论】:

      【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-14
        • 2013-06-05
        • 2013-06-16
        • 1970-01-01
        • 2010-09-30
        相关资源
        最近更新 更多