npm 包 @aws-sdk/shared-ini-file-loader 使用教程

阅读时长 5 分钟读完

AWS 官方提供了用于 JavaScript 语言的 AWS SDK,它能让开发者在前端直接与 AWS 服务进行交互。然而,每次在前端调用 AWS SDK 时都需要传递 AWS 的 Access Key ID 和 Secret Access Key,这样做并不安全,常常会引起泄漏。

AWS SDK 提供了一个名为 shared-ini-file-loader 的 npm 包来解决这个问题,它可以从默认的 AWS 配置文件(通常在 ~/.aws/credentials)中读取这些敏感信息,供应用程序使用。本文将讲解如何使用 shared-ini-file-loader 包来加载 AWS 配置文件中的信息。

安装 shared-ini-file-loader

使用 npm 包管理器,可以很容易地安装 shared-ini-file-loader

加载 AWS Credentials

在使用 shared-ini-file-loader 之前,需要确保确有 AWS 配置文件。如果你还没有这个文件,可以使用 AWS CLI 在命令行上创建。这里假设你已经创建好了 AWS 配置文件。

在代码中使用 shared-ini-file-loader

-- -------------------- ---- -------
----- - --------- ---------------- - - ------------------------------
----- - ------- - - --------------------------------------------
----- - --------------------------- - - -------------------------------------------

----- -------- -------------------- --------- ------ -
  ----- ----------- - ----- -----------------------------
    -------- ----------
  ---

  ----- ------ - --- ----------
    ------------
    ------- ------------
  ---

  ----- ----------- - ----- -------------------------------

  ----- ------- - --- ------------------
    ------- ---------
    ---- ------
    ----- ------------
  ---

  ----- - --------- ---------- - - ----- ---------------------

  ----------------- -------- ------------- -- --------- ----------------
-

在上面的示例中,我们使用了 getSharedIniFileCredentials() 方法来创建一个 credentials 对象,这个对象包含 AWS Access Key ID 和 Secret Access Key。这些值将被传递给 S3Client 对象,从而让其能够进行身份验证,并发送请求到 AWS S3 服务上。

指定 AWS 配置文件

如果你的 AWS 配置文件不在默认位置中(~/.aws/credentials),你可以使用 fromIni 函数并指定 AWS 配置文件的绝对路径:

只读模式读取 AWS 配置文件

默认情况下,shared-ini-file-loader 会尝试按照默认配置文件和文件格式从文件中读取敏感信息。但是,通过在调用 getSharedIniFileCredentials() 方法时指定 readOnly 参数,你可以指示 shared-ini-file-loader 只读取文件,并不试图从文件中写入任何内容。

例如,下面的示例展示了如何使用只读模式读取 AWS 配置文件:

-- -------------------- ---- -------
----- - --------------------------- - - -------------------------------------------

----- -------- ------------------- -
  ----- ----------- - ----- -----------------------------
    -------- ----------
    --------- -----
  ---

  -------------------------
-

结论

@aws-sdk/shared-ini-file-loader 包极大地简化了使用 AWS SDK 的前端开发人员的工作流程。使用这个包,你可以从 AWS 配置文件中安全地读取敏感信息,并用于向 AWS 服务发送请求。与直接将这些敏感信息硬编码在项目中相比,使用 shared-ini-file-loader 包更为安全可靠。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/aws-sdk-shared-ini-file-loader