将 AWS CLI 配置文件用于特定节点程序的上下文

Use AWS CLI profile for specific node program's context

我有多个 AWS 配置文件用于管理不同的项目。 让我们调用默认的 "user1",以及我要使用的 "user2"

因此,如果我只执行 aws s3 ls,它当然会提供用户 1 的信息,或者如果我执行 aws s3 ls --profile=user2,它会提供用户 2 的信息,这里一切都很好

我也知道我可以 export AWS_DEFAULT_PROFILE=user2 然后 aws s3 ls,它正确地给我 user2 的桶

问题是,我有一个 Node 应用程序,当我在本地 运行 我想使用 user2 的配置文件。我已经尝试了各种 AWS_DEFAULT_PROFILE=user2 npm run dev 之类的方法,但不知道该怎么做?

问题我如何运行本地节点程序并让它的 AWS SDK 使用我想要的配置文件?

它应该像下面这样正常工作。您需要事先传递配置文件名称。

AWS_PROFILE=user1 node script.js

参考:https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html