配置 Amazon 区域 - Amazon SDK for .NET
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Amazon 区域

使用 Amazon 区域可以访问实际位于特定地理区域的 Amazon 服务。它可用于保证冗余,并保证您的数据和应用程序接近您和用户访问它们的位置。

要查看当前各 Amazon 服务所有支持的区域和端点列表,请参阅 Amazon Web Services 一般参考 中的区域和端点。要查看现有区域端点的列表,请参阅 Amazon服务终端节点。要查看有关区域的详细信息,请参阅指定您的账户可以使用哪些 Amazon 区域

您可以创建转到特定区域的 Amazon 服务客户端。您还可以为应用程序配置一个将用于所有 Amazon 服务客户端的区域。接下来将解释这两种情况。

创建具有特定区域的服务客户端

您可以为应用程序中的任何 Amazon 服务客户端指定区域。以此方式设置区域优先于该特定服务客户端的任何全局设置。

现有区域

此示例向您展示了如何在现有区域中实例化 Amazon EC2 客户端。它使用已定义的 RegionEndpoint 字段。

using (AmazonEC2Client ec2Client = new AmazonEC2Client(RegionEndpoint.USWest2)) { // Make a request to EC2 in the us-west-2 Region using ec2Client }

使用 RegionEndpoint 类的新区域

此示例向您展示了如何使用 RegionEndpoint.GetBySystemName 构造新的区域端点。

var newRegion = RegionEndpoint.GetBySystemName("us-west-new"); using (var ec2Client = new AmazonEC2Client(newRegion)) { // Make a request to EC2 in the new Region using ec2Client }

使用服务客户端配置类的新区域

此示例向您展示如何使用服务客户端配置类的 ServiceURL 属性来指定区域;在本例中是使用 AmazonEC2Config 类。

即使区域端点未遵循正规区域端点模式,此技术仍适用。

var ec2ClientConfig = new AmazonEC2Config { // Specify the endpoint explicitly ServiceURL = "https://ec2.us-west-new.amazonaws.com" }; using (var ec2Client = new AmazonEC2Client(ec2ClientConfig)) { // Make a request to EC2 in the new Region using ec2Client }

为所有服务客户端指定区域

您可以通过多种方式为应用程序创建的所有 Amazon 服务客户端指定区域。此区域用于不是通过特定区域创建的服务客户端。

Amazon SDK for .NET按以下顺序查找区域值。

配置文件

在您的应用程序或软件开发工具包已加载的配置文件中进行设置。有关更多信息,请参阅凭证和配置文件解析

环境变量

AWS_REGION 环境变量中设置。

在 Linux 或 macOS 上:

export AWS_REGION='us-west-2'

在 Windows 上:

set AWS_REGION=us-west-2
注意

如果您为整个系统设置此环境变量(使用 exportsetx),则它会影响所有 SDK 和工具包,而不仅仅是Amazon SDK for .NET。

AWSConfigs 类

设置为 AWSConfigs.AWSRegion 属性。

AWSConfigs.AWSRegion = "us-west-2"; using (var ec2Client = new AmazonEC2Client()) { // Make request to Amazon EC2 in us-west-2 Region using ec2Client }

区域解析

如果没有使用上述方法来指定 Amazon Web Services 区域,则Amazon SDK for .NET会尝试查找 Amazon 服务客户端要运行的区域。

区域解析顺序
  1. 应用程序配置文件,例如 app.configweb.config

  2. 环境变量(AWS_REGIONAWS_DEFAULT_REGION)。

  3. 名称由 AWSConfigs.AWSProfileName 中的值指定的配置文件。

  4. 名称由 AWS_PROFILE 环境变量指定的配置文件。

  5. [default] 配置文件。

  6. Amazon EC2 实例元数据(如果在 EC2 实例上运行)。

如果未找到区域,软件开发工具包会引发异常,指出 Amazon 服务客户端没有配置区域。

有关中国(北京)区域的特殊信息

要使用中国 (北京) 区域中的服务,您必须拥有特定于中国 (北京) 区域的账户和凭证。其他 Amazon 区域的账户和凭证不适用于中国(北京)区域。同样,中国(北京)区域的账户和凭证也不适用于其他 Amazon 区域。有关可在中国(北京)区域使用的端点和协议的信息,请参阅中国(北京)区域端点

有关新 Amazon 服务的特殊信息

新的 Amazon 服务会首先在少数几个区域中推出,然后在其它区域中支持。在这些情况下,您无需安装最新的软件开发工具包来访问该服务的新区域。您可以按各个客户端或者按全球来指定新添加的区域,如之前所示。