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

阅读时长 6 分钟读完

简介

AWS 是 Amazon 提供的云计算服务,也是目前最大的公共云服务供应商之一。AWS 提供了多个 SDK (软件开发工具包)以帮助开发人员更方便地在其云端平台上构建应用程序。

其中,@aws-sdk/client-s3 是 AWS 官方提供 Amazon S3(简称 S3),在前端 Web 应用中使用的 JavaScript SDK。S3 是 Amazon 开发的一个分布式的对象存储服务,可以帮助开发者高效的存储和检索任何数量和类型的数据。

@aws-sdk/client-s3 提供了对 Amazon S3 的所有操作的支持,如创建 S3 桶、上传、下载、删除文件等。

在本教程中,我们将学习如何使用 @aws-sdk/client-s3 SDK。

前置条件

使用 @aws-sdk/client-s3 SDK 的前置条件如下:

  • AWS 账户并且已启用 Amazon S3 服务。
  • 已经创建了 AWS IAM 账户、已经创建了公钥、私钥,并且这些信息已被授权来访问 Amazon S3 服务。

安装和配置@aws-sdk/client-s3

@aws-sdk/client-s3 可以通过 npm 包管理器安装,使用如下命令:

使用示例

让我们快速了解一下如何使用 @aws-sdk/client-s3 连接 S3 并执行文件操作。

创建 S3 实例

首先,我们需要使用 AWS SDK 提供的构造函数,创建一个 S3 实例,代码如下:

使用 S3 实例时,需要替换 accessKeyId 和 secretAccessKey 为在 AWS 控制台中找到的自己的凭据。

创建 S3 桶

创建 S3 桶时,可以使用 createBucket() 方法,代码如下:

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

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

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

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

参数 Bucket 是创建的 S3 桶的名称。

返回的 Location 属性指示新桶的 URL。

上传文件

上传文件时,使用 putObject() 方法。下面的代码演示了如何上传一个对象:

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

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

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

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

参数 Bucket 是要上传到的 S3 桶的名称,参数 Key 是要上传的文件的名称,参数 Body 是要上传的文件的内容。

返回的 Location 属性指示已上传文件的 URL。

下载文件

下载文件时,使用 getObject() 方法,代码如下:

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

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

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

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

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

参数 Bucket 是要下载的 S3 桶的名称,参数 Key 是要下载的文件的名称。

删除文件

删除对象时,使用 deleteObject() 方法,代码如下:

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

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

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

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

参数 Bucket 是要删除的 S3 桶的名称,参数 Key 是要删除的对象(文件)的名称。

删除成功后,返回的 Location 属性指向已删除文件的 URL。

总结

本教程介绍了如何使用 @aws-sdk/client-s3 SDK 连接 AWS S3 服务,并上传、下载和删除文件。通过学习本教程,你已经知道如何在前端 Web 应用中使用 @aws-sdk/client-s3 SDK,以及如何进行文件操作。

在开发过程中,需要注意安全问题,需要特别注意密钥的保护和存储。同时,@aws-sdk/client-s3 SDK 还提供了其他操作 API,可以根据自己的需求选择使用。

参考文献

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f6ee49da9b7065299ccba0c

纠错
反馈