【问题标题】:Determine current AWS region .Net?确定当前 AWS 区域 .Net?
【发布时间】:2017-09-02 00:03:10
【问题描述】:

有没有办法在 .Net 中确定当前的 AWS 区域?

我已经能够在 java https://aws.amazon.com/blogs/developer/determining-an-applications-current-region/ 中找到一种方法来执行此操作,但在 .Net 中找不到等效方法。

【问题讨论】:

    标签: .net amazon-web-services aws-sdk-net


    【解决方案1】:

    如果您使用的是 .NET SDK,那么简单

    var region = Amazon.Util.EC2InstanceMetadata.Region;
    

    它有两个主要属性,DisplayNameSystemName。前者为您提供"EU West (London)" 等字符串,而后者为您提供"eu-west-2"

    【讨论】:

    • 奇怪的是,我在这行代码中收到了 TaskCancelled 异常。在 E:\JenkinsWorkspaces\v3-stage-release\AWSDotNetPublic\sdk\src\Core\Amazon.Util_bcl+coreclr\EC2InstanceMetadata.cs:line 214 中的 Amazon.Util.EC2InstanceMetadata.get_Region() 处
    • @Signcodeindie 这表明你在你的外部线程/请求/任何正在完成的地方调用它,然后它才能获得它 - 在内部它正在做一个 webrequest 来获得它数据(除非它已经缓存了它),所以它不是一瞬间的事情。根据发生的情况,可能值得提出一个新问题。
    【解决方案2】:

    此信息在 EC2 元数据服务中的 EC2 实例上可用。实际上,只有可用区可用,但您可以从 AZ 推断出区域。

    看起来这可以通过Amazon.EC2.UtilEC2Metadata 在.Net SDK 中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2015-11-07
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      相关资源
      最近更新 更多