在全局级别加载AWS-SDK IAM凭据



我在项目中经常使用AWS-SDK。我发现加载共享凭据文件(~/.aws/credentials(或在所有需要的地方复制粘贴凭据都很耗时。

只是想知道是否有一种方法可以在全局级别配置它,这样我就不必在nodejs代码中到处包含它们。

提前谢谢。

不知道耗时是什么意思。你的意思是运行时还是开发时?

默认情况下,所有SDK都将根据凭据提供程序的特定层次结构自动加载凭据,包括~/.aws/credentials。如果使用这些受支持的机制之一,则通常不需要显式加载凭据。

例如,boto3(Python SDK(按顺序从以下位置加载它们:

  1. 创建客户端对象时传递凭据
  2. 创建会话对象时传递凭据
  3. 环境变量
  4. 共享凭据文件(~/.aws/credentials(
  5. AWS配置文件(~/.AWS/config(
  6. 假定角色提供程序
  7. Boto2配置文件(/etc/boto.cfg和~/.boto(
  8. 已配置IAM角色的Amazon EC2实例上的实例元数据服务

通常,如果您在开发人员机器上运行应用程序,您可能会使用#4和#5。如果您的应用程序运行在AWS基础设施(如EC2、ECS或Lambda(上,那么您将使用#8。两者都不需要编写任何显式代码来加载凭据。

最新更新