

适用于 JavaScript 的 AWS SDK v2 已终止支持。建议您迁移到 [适用于 JavaScript 的 AWS SDK v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/)。有关更多详情和如何迁移的信息，请参阅本[公告](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)。

# 设置 AWS 区域
<a name="setting-region"></a>

区域是同一地理区域中的一组指定的 AWS 资源。区域的一个例子是 `us-east-1`，即美国东部（弗吉尼亚州北部）区域。在配置 SDK for JavaScript 时指定区域，以便 SDK 访问该区域中的资源。有些服务仅在特定区域中提供。

默认情况下，SDK for JavaScript 不选择区域。但是，您可以使用环境变量、共享的 `config` 文件或全局配置对象来设置区域。

## 在客户端类构造函数中
<a name="setting-region-constructor"></a>

实例化服务对象时，可以将该资源的 区域指定为客户端类构造函数的一部分，如此处所示。

```
var s3 = new AWS.S3({apiVersion: '2006-03-01', region: 'us-east-1'});
```

## 使用全局配置对象
<a name="setting-region-config-object"></a>

要在 JavaScript 代码中设置区域，请更新 `AWS.Config` 全局配置对象，如此处所示。

```
AWS.config.update({region: 'us-east-1'});
```

有关当前区域和每个区域中可用服务的更多信息，请参阅《AWS 一般参考》**中的 [AWS 区域和端点](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

## 使用环境变量
<a name="setting-region-environment-variable"></a>

您可以使用 `AWS_REGION` 环境变量设置区域。如果您定义此变量，则 SDK for JavaScript 会读取并使用它。

## 使用共享配置文件
<a name="setting-region-config-file"></a>

您可以存储共享凭证文件供开发工具包使用的凭证，共享配置文件与之非常相似，您可以将区域和其他配置设置保存在开发工具包使用的名为 `config` 的共享文件中。如果 `AWS_SDK_LOAD_CONFIG` 环境变量已设置为任何值，则 SDK for JavaScript 在加载时会自动搜索 `config` 文件。保存 ` config` 文件的位置取决于您的操作系统：
+ Linux、macOS 或 Unix 用户：`~/.aws/config`
+ Windows 用户：`C:\Users\USER_NAME\.aws\config`

如果您还没有共享 `config` 文件，您可以在指定的目录中创建一个。在以下示例中，`config` 文件设置区域和输出格式。

```
[default]
   region=us-east-1
   output=json
```

有关使用共享配置文件和共享凭证文件的更多信息，请参阅[从共享凭证文件加载 Node.js 中的凭证](loading-node-credentials-shared.md)或《AWS Command Line Interface 用户指南》**中的[配置和凭证文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html)。

## 区域的优先设置顺序
<a name="setting-region-order-of-precedence"></a>

区域设置的优先顺序如下：
+ 如果将某个区域传递给客户端类构造函数，则使用该区域。如果没有传递，则...
+ 如果在全局配置对象上设置了区域，则使用该区域。如果没有传递，则...
+ 如果 `AWS_REGION` 环境变量是[真](https://developer.mozilla.org/en-US/docs/Glossary/Truthy)值，则使用该区域。如果没有传递，则...
+ 如果 `AMAZON_REGION` 环境变量是真值，则使用该区域。如果没有传递，则...
+ 如果 `AWS_SDK_LOAD_CONFIG` 环境变量设置为任何值，并且共享凭证文件（`~/.aws/credentials` 或由 `AWS_SHARED_CREDENTIALS_FILE` 指示的路径）对于配置的配置文件包含某个区域，则使用该区域。如果没有传递，则...
+ 如果 `AWS_SDK_LOAD_CONFIG` 环境变量设置为任何值，并且配置文件（`~/.aws/config` 或由 `AWS_CONFIG_FILE` 指示的路径）对于配置的配置文件包含某个区域，则使用该区域。