

适用于 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/)。

# 从共享凭证文件加载 Node.js 中的凭证
<a name="loading-node-credentials-shared"></a>

您可以将 AWS 凭证数据保存在 SDK 和命令行界面使用的共享文件中。当 SDK for JavaScript 加载时，它会自动搜索共享凭证文件（名为“credentials”）。保存共享凭证文件的位置取决于您的操作系统：
+ Linux、Unix 和 macOS 上的共享凭证文件：`~/.aws/credentials`
+ Windows 上的共享凭证文件：`C:\Users\USER_NAME\.aws\credentials`

如果您还没有共享凭证文件，请参阅 [使用 AWS 进行 SDK 身份验证](getting-your-credentials.md)。按照这些说明操作后，您应该在凭证文件中看到与以下内容类似的文本，其中 *<YOUR\$1ACCESS\$1KEY\$1ID>* 是您的访问密钥 ID，*<YOUR\$1SECRET\$1ACCESS\$1KEY>* 是您的秘密访问密钥：

```
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
```

有关显示正在使用的此文件的示例，请参阅 [Node.js 入门](getting-started-nodejs.md)。

`[default]` 部分标题指定默认配置文件和凭证的相关值。您可以在同一共享配置文件中创建其他配置文件，每个配置文件都有自己的凭证信息。以下示例显示了具有默认配置文件和两个其他配置文件的配置文件：

```
[default] ; default profile
aws_access_key_id = <DEFAULT_ACCESS_KEY_ID>
aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY>
    
[personal-account] ; personal account profile
aws_access_key_id = <PERSONAL_ACCESS_KEY_ID>
aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY>
    
[work-account] ; work account profile
aws_access_key_id = <WORK_ACCESS_KEY_ID>
aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>
```

默认情况下，开发工具包会检查 `AWS_PROFILE` 环境变量以确定使用哪些配置文件。如果在您的环境中未设置 `AWS_PROFILE` 变量，开发工具包将对 `[default]` 配置文件使用凭证。要使用其中一个替代配置文件，请设置或更改 `AWS_PROFILE` 环境变量的值。例如，假定上述配置文件，要从工作账户使用凭证，请将 `AWS_PROFILE` 环境变量设置为 `work-account`（相应适用于您的操作系统）。

**注意**  
设置环境变量时，请务必随后采取适当操作（根据您的操作系统的需求）以使这些变量在 shell 或命令环境中可用。

设置环境变量（如果需要）后，您可以运行一个使用 SDK 的 JavaScript 文件，例如，一个名为 `script.js` 的文件。

```
$ node script.js
```

您也可以明确选择开发工具包使用的配置文件，方法为在加载开发工具包之前设置 `process.env.AWS_PROFILE`，或者选择以下示例所示的凭证提供程序：

```
var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'});
AWS.config.credentials = credentials;
```