从共享凭证文件加载 Node.js 中的凭证 - AWS SDK for JavaScript

我们已宣布即将终止对 AWS SDK for JavaScript v2 的支持。建议您迁移到 AWS SDK for JavaScript v3。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

从共享凭证文件加载 Node.js 中的凭证

您可以将 AWS 凭证数据保存在 SDK 和命令行界面使用的共享文件中。当 SDK for JavaScript 加载时,它会自动搜索共享凭证文件(名为“credentials”)。保存共享凭证文件的位置取决于您的操作系统:

  • Linux、Unix 和 macOS 上的共享凭证文件:~/.aws/credentials

  • Windows 上的共享凭证文件:C:\Users\USER_NAME\.aws\credentials

如果您还没有共享凭证文件,请参阅 使用 AWS 进行 SDK 身份验证。按照这些说明操作后,您应该在凭证文件中看到与以下内容类似的文本,其中 <YOUR_ACCESS_KEY_ID> 是您的访问密钥 ID,<YOUR_SECRET_ACCESS_KEY> 是您的秘密访问密钥:

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

有关显示正在使用的此文件的示例,请参阅 Node.js 入门

[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;