在 Deno 中使用 Amazon S3 存储

阅读时长 6 分钟读完

前言

Amazon S3 是一项非常受欢迎的云储存服务,它可供开发者存储和检索任意量的数据,而且在全球范围内拥有广泛的服务器网络。如果你正在使用 Deno 来开发 Web 应用,那么将 Amazon S3 集成到你的应用程序中是一个很好的选择。本文将介绍如何在 Deno 中使用 Amazon S3 存储。

S3 基础知识

在使用 Amazon S3 存储之前,我们需要了解 Amazon S3 的以下基础知识:

  • Bucket: S3 中的一个顶级容器,用于存储对象。
  • Object: 存储在 S3 Bucket 中的原始数据。一个 Object 包含有关数据的元数据,例如 MIME 类型和创建/修改时间。

安装 AWS SDK for JavaScript

我们需要用到 AWS SDK for JavaScript,因此首先要安装它。在 Deno 中,您可以使用 depts.ts 文件来导入它:

在上面的代码中,我们从 AWS SDK 中导入了我们需要使用的类。具体来说,我们导入了:S3Client、ListBucketsCommand、PutObjectCommand、GetObjectCommand、DeleteObjectCommand 和 ListObjectsCommand。这些类我们将会在接下来的部分中用到。

连接 S3

在使用 S3 之前,我们需要建立一个连接。为此,我们需要提供与 AWS 帐户相关的访问凭据。

在上面的代码中,我们通过 S3Client 的构造函数创建了一个新的 S3Client 实例。构造函数的参数包括 regioncredentialsregion 是您设置的区域的名称,例如:us-west-2。credentials 部分包括您的 AWS 访问凭据。

操作 S3

列出 Bucket

要列出您账户下的所有 Bucket,您可以使用 ListBucketsCommand 类。下面是如何使用该类:

在上面的代码中,我们创建一个新的 ListBucketsCommand 实例,并使用 await s3.send() 方法将该实例发送到 S3。 ListBucketsCommand 将返回一个包含所有 Bucket 的数组,您可以通过访问 response.Buckets 属性来获取其中所有 Bucket 的列表。

上传 Object

要将文件上传到 S3 Bucket ,您可以使用 PutObjectCommand。 下面是如何使用该类:

在上面的代码中,我们使用 PutObjectCommand 类来上传一个包含“Hello, world!”字符串的 Object,并将其保存到名为“mybucket”的 Bucket 中。

下载 Object

要从 S3 Bucket 下载文件,您可以使用 GetObjectCommand。 下面是如何使用该类:

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

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

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

在上面的代码中,我们使用 GetObjectCommand 类来下载 Object,该 Object位于名为“mybucket”的 Bucket 中,并将其存储到本地文件系统中。 然后,我们使用 Deno.readAll() 方法读取 Object 的内容,并在控制台上打印它。为了将字节数组转换为字符串,我们使用 new TextDecoder() 方法。

删除 Object

要从 S3 Bucket 删除文件,您可以使用 DeleteObjectCommand。 下面是如何使用该类:

在上面的代码中,我们使用 DeleteObjectCommand 类从名为“mybucket”的 Bucket 中删除带有“mykey”名称的 Object。

列出 Objects

要列出名为“mybucket”的 Bucket 中的所有 Object,您可以使用 ListObjectsCommand。 下面是如何使用该类:

在上面的代码中,我们使用 ListObjectsCommand 类来列出名为“mybucket”的 Bucket 中的所有 Object,并将其打印到控制台上。

总结

本文介绍了如何在 Deno 中使用 Amazon S3 存储。我们首先了解了 S3 的基础知识,然后使用 AWS SDK for JavaScript 连接到 S3,并且使用了 S3 的 API 进行操作。通过本文的学习,您将掌握如何将 Amazon S3 集成到 Deno 应用程序中。

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

纠错
反馈