npm 包 @aws-sdk/s3-request-presigner 使用教程

介绍

AWS SDK for JavaScript 是操作 Amazon Web Services的官方 JavaScript SDK。@aws-sdk/s3-request-presigner 是 AWS SDK for JavaScript 的一个 npm 包,可以用于生成 Amazon S3 的 pre-signed URLs。pre-signed URL 是一种带有签署者的 URL,用于将对 Amazon S3 对象的特定操作授权给某个 AWS 账户。AWS 签署 pre-signed URL 时,可以使用应用程序开发者提供的安全策略来确定请求范围和时间期限。

在本篇文章中,我们将介绍如何使用 @aws-sdk/s3-request-presigner 包,生成 pre-signed URL。

安装

在使用 @aws-sdk/s3-request-presigner 之前,需要先安装 Node.js 和 npm。安装好 Node.js 和 npm 后,可以使用以下命令安装 @aws-sdk/s3-request-presigner 包:

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

使用

@aws-sdk/s3-request-presigner 提供了两个方法,可以用于生成 pre-signed URL:prepareRequest 和 presignRequest。prepareRequest 方法用于构建 HTTP 请求,presignRequest 方法用于生成 pre-signed URL。下面我们将分别介绍这两个方法的使用。

prepareRequest

prepareRequest 方法用于构建 HTTP 请求。下面是一个使用 prepareRequest 方法的示例:

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

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

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

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

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

在上述示例中,我们首先创建了一个 S3RequestPresigner 实例。然后创建了一个包含 HTTP 请求信息的 HttpRequest 对象。接着创建了一个 S3Client 对象,然后使用 S3RequestPresigner 的 prepareRequest 方法,对 HttpRequest 对象进行签署。最后,我们得到了签署后的 HTTP 请求的信息,存储在 preparedRequest 变量中。

presignRequest

presignRequest 方法用于生成 pre-signed URL。下面是一个使用 presignRequest 方法的示例:

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

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

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

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

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

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

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

在上述示例中,我们首先创建了一个 S3RequestPresigner 实例。然后创建了一个包含 HTTP 请求信息的 HttpRequest 对象。接着创建了一个 S3Client 对象,然后使用 S3RequestPresigner 的 prepareRequest 方法,对 HttpRequest 对象进行签署。然后使用 presignRequest 方法,传入签署后的 HTTP 请求信息,指定 URL 的有效期时长,生成 pre-signed URL。

总结

通过本文的介绍,我们了解了如何使用 @aws-sdk/s3-request-presigner 包生成 Amazon S3 的 pre-signed URLs。在实际应用中,我们可以使用 pre-signed URL 来授权给某个 AWS 账户特定的 S3 对象操作,例如下载或上传文件。

完整的示例代码可在GitHub 上找到。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f6ee49da9b7065299ccba0d


猜你喜欢

  • npm 包 chai-nock 使用教程

    前言 chai-nock 是一个用于在浏览器和 Node.js 环境下进行 HTTP mock 的 npm 包。它基于 chai 和 nock,让你可以很容易地在测试中模拟 HTTP 请求,以便在没有...

    4 年前
  • npm 包 mongoose-schema-jsonschema 使用教程

    简介 在使用 Node.js 开发后台服务的过程中,经常需要使用 MongoDB 数据库进行数据存储。在 MongoDB 中,我们可以使用 Mongoose 这个 ORM 工具来简化数据的 CRUD ...

    4 年前
  • NPM 包 Mailgun 使用教程

    在前端开发过程中,我们经常需要使用到发送邮件的功能,这时候 Mailgun 就成了我们的好帮手。Mailgun 是一个邮件服务提供商,可以帮助我们简单、快速地发送邮件。

    4 年前
  • npm 包 @lykmapipo/phone 使用教程

    在现代的前端开发中,我们经常需要处理电话号码这类数据。@lykmapipo/phone则是一款专门用于处理电话号码的 npm 包。在本文中,我们将介绍该 npm 包的使用方法并附带示例代码。

    4 年前
  • npm 包 mongoose-valid8 使用教程

    在使用 Node.js 开发后端应用过程中,我们少不了使用 MongoDB 作为数据库存储数据。而 mongoose 是一个极为流行的操作 MongoDB 的工具,可以帮助我们更方便地操作数据库。

    4 年前
  • npm 包 dom-parser 使用教程

    npm 包 dom-parser 使用教程 在前端开发中,我们经常需要处理 HTML 文档中的各种节点,比如获取节点、修改节点内容等等。这时我们就需要使用 DOM 操作。

    4 年前
  • npm 包 mariadb 使用教程

    前言 在前端开发中,数据库是非常重要的一环。而 MariaDB 就是一个广受欢迎的开源数据库。npm 上也有 mariadb 这个包,它提供了在 Node.js 应用程序中访问 MariaDB 数据库...

    4 年前
  • npm 包 pipe 使用教程

    在前端开发中,我们经常需要对数据进行处理,在这个过程中,我们可能会需要对数据进行多种操作,例如筛选、排序、分组或者计算等等。这些操作虽然也可以通过手写代码实现,但是很容易出现耗时、出错的问题,因此我们...

    4 年前
  • npm 包 browser-or-node 使用教程

    前端和后端技术的不同在于运行环境的不同,而现在前端领域已经越来越庞大,不同的场景需要使用不同的运行环境,这就需要我们在开发中区分浏览器运行环境和 Node.js 的运行环境。

    4 年前
  • NPM 包 the-answer 使用教程

    作为一名前端开发人员,我们经常使用 NPM(Node Package Manager)来管理 JavaScript 库和工具。而 the-answer 是一个有趣的 NPM 包,它可以返回宇宙和生命存...

    4 年前
  • npm 包 bespoke-classes 使用教程

    简介 在前端开发中,我们经常需要定义一些样式类来控制网页元素的样式。如果有多个页面使用相同的样式类,就需要在多个页面中分别定义这些样式类,这样会造成维护成本很高。为了解决这个问题,我们可以使用 npm...

    4 年前
  • npm 包 gulp-micro 使用教程

    在开发 web 应用时,前端工程师经常需要使用一些自动化构建工具来提高工作效率。其中,gulp 是一个非常流行的 JavaScript 自动化构建工具,能够帮助我们优化、压缩、合并代码,以及执行其他任...

    4 年前
  • npm 包 vue 使用教程

    npm 是一个基于 Node.js 平台的包管理器,vue 是一个流行的 JavaScript 框架,通过 npm,我们可以很方便地使用和安装 vue。本文从初学者的角度出发,详细介绍了 npm 包 ...

    4 年前
  • npm 包 normalizecss 使用教程

    在前端开发中我们经常需要考虑浏览器的兼容性问题,其中包括对不同浏览器的样式差异的处理。为了解决这个问题,可以使用一些 CSS reset 的工具,其中比较流行的就是 normalize.css。

    4 年前
  • npm 包 sse.js 使用教程

    Server-Sent Events (SSE) 是一种用于向客户端发送实时数据的技术,常常被用于 Web 应用程序中实现实时通信。SSE 与 WebSocket 相似,但是更加轻量级,而且不需要建立...

    4 年前
  • npm 包 nodehx 使用教程

    前言 nodehx 是一个能够将 Haxe 语言编写的代码转换成 Node.js 模块的工具。Haxe 是一种跨平台的高级语言,可以编译成多种语言,包括 JavaScript,因此可以用来编写前端代码...

    4 年前
  • npm 包 testing 使用教程

    在前端开发中,我们经常会使用各种第三方库和框架来加速开发效率。而 npm 包作为前端最流行的包管理器,具有丰富的库资源供我们选择使用。 但是,如何保证这些 npm 包的稳定性和质量呢?这时候就需要使用...

    4 年前
  • npm 包 describe 使用教程

    前言 在前端开发中,使用 npm 包非常重要。npm 是 JavaScript 的包管理工具,提供了一种易于使用的方式来安装依赖、更新依赖以及发布自己的包。本文将介绍一个 npm 包 describe...

    4 年前
  • npm 包 string-color 使用教程

    前言 在日常的前端开发中, 我们很少需要为文字颜色添加各种CSS样式。这是因为我们可以通过CSS来定义文字的颜色和样式。但是,我们经常陷入一个困境:我们需要在UI中使用颜色生成器来获得一种未知颜色的十...

    4 年前
  • npm包register-module使用教程

    什么是npm? npm是一种用于构建JavaScript软件包的工具。 npm的完整名称是Node Package Manager,它作为Node.js软件包的默认包管理器。

    4 年前

相关推荐

    暂无文章