前言
在使用 AWS SDK 开发项目时,我们需要提供 AWS 认证信息。AWS SDK 为我们提供了许多种获取认证信息的方式,其中之一是使用 AWS CLI 配置 AWS 认证信息。在 Node.js 中,我们可以使用 npm 包 @aws-sdk/credential-provider-ini 来获取从 AWS CLI 配置文件中导入的认证信息。
本篇文章将介绍如何使用 @aws-sdk/credential-provider-ini 包从 AWS CLI 配置文件中获取认证信息,以及如何在项目中使用这些信息来创建 AWS SDK 客户端。
安装 @aws-sdk/credential-provider-ini 包
使用 npm 包管理器,可以很方便地安装 @aws-sdk/credential-provider-ini 包,命令如下:
--- ------- --------------------------------
从 AWS CLI 配置文件中获取认证信息
在使用 @aws-sdk/credential-provider-ini 包获取认证信息之前,需要先在 AWS CLI 中保存认证信息到配置文件。在默认情况下,这个配置文件是 $HOME/.aws/credentials
,如果需要,也可以通过设置环境变量 AWS_SHARED_CREDENTIALS_FILE
来指定配置文件的位置。
AWS CLI 配置文件的内容格式类似于 INI 文件。假设我们在配置文件中保存了名为 my-profile
的认证信息,那么可以通过以下代码来获取这个认证信息:
----- - ------- - - -------------------------------------------- ----- ----------- - --------- -------- ------------ ---
fromIni
函数的参数是一个对象,包含以下属性:
profile
:要获取的 AWS CLI 配置文件中的 profile 名称。如果不指定,则使用默认的 profile。filepath
:AWS CLI 配置文件的绝对路径。如果不指定,则默认文件路径为$HOME/.aws/credentials
(在 Windows 上对应C:\Users\<user>\.aws\credentials
)。
在项目中使用 AWS SDK 客户端
使用 @aws-sdk/credential-provider-ini 包从 AWS CLI 配置文件中获取认证信息后,我们可以将这些信息传递给 AWS SDK 的客户端对象。以 S3 客户端对象为例,以下代码展示了如何创建一个 S3 客户端对象:
----- - -- - - ------------------------------ ----- - ------- - - -------------------------------------------- ----- ----------- - --------- -------- ------------ --- ----- -------- - --- ---- ----------- ---
在上面的示例代码中,credentials
参数是一个包含认证信息的对象,被传递给 S3 客户端对象的构造函数。
总结
本篇文章介绍了如何使用 @aws-sdk/credential-provider-ini 包从 AWS CLI 配置文件中获取认证信息,并在项目中使用这些信息来创建 AWS SDK 客户端对象。希望本文对您有所启发,并帮助您更好地了解 AWS SDK 的认证机制。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f6f182ca9b7065299ccba42