使用 s3-compatible-bos NPM 包连接 Baidu BOS

阅读时长 8 分钟读完

Baidu Object Storage (BOS) 是一项在 Baidu Cloud 上提供的云存储服务。它与 AWS S3 兼容,这允许使用 s3-compatible-bos NPM 包 实现与 Baidu BOS 的连接。本教程将为您提供一个全面的指南,帮助您开始使用 s3-compatible-bos 连接 Baidu BOS 以实现物品的存储和检索。

简介

使用 s3-compatible-bos ,您可以轻松连接 Baidu BOS,存储和检索物品。

在这个快速开始指南之前,请确保注册了 Baidu Cloud 账户并登录。你需要创建一个 BOS 存储桶 (Bucket) 来运行这个教程中的示例代码。

安装 s3-compatible-bos 包

使用 npm 安装 s3-compatible-bos 包。

创建 BOS 客户端

在 Node.js 中创建 BOS 客户端。在这个示例中,我们需要提供 BOS Access Key、BOS Secret Key、和 BOS Bucket 名称作为参数。Access Key 和 Secret Key 包含在 Baidu Cloud 网站上创建的应用程序的凭据中。

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

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

在这个代码片段中,我们创建了一个名为 client 的新的 s3-compatible-bos 客户端,并设置了 accessKeyIdsecretAccessKeyendpoint 参数。如果您不确定要使用哪个区域,请参阅其 官方文档。Baidu BOS 支持 v4 签名版,所以我们设置了 signatureVersion 参数。

创建和上传文件

使用 putObject 创建和上传文件。

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

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

在这个代码片段中,我们首先定义了要上传的文件的路径和内容类型。在 createAndUpload 函数中,我们使用 putObject 方法创建文件。我可以指定以下参数:

  • Bucket — 存储桶的名称。
  • Key — 存储桶中对象的唯一键。
  • Body — 要上传的文件的二进制数据。
  • ContentType — 文件的 MIME 类型。

下载文件

使用 getObject 下载文件。

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

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

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

在这个代码片段中,我们首先定义了要下载文件的名称和本地存储路径。在 download 函数中,我们使用 getObject 方法来下载文件。我可以指定以下参数:

  • Bucket — 存储桶的名称。
  • Key — 存储桶中对象的唯一键。

文件将下载到您指定的本地路径中。

列出文件

使用 listObjectsV2 列出存储桶中的所有对象。

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

在这个代码段中,我们使用 listObjectsV2 方法列出存储桶中的所有对象。Baidu BOS 支持两个 API 来列出对象的存储桶 — listObjectslistObjectsV2。这两个 API 的工作方式类似,区别在于 listObjectsV2 支持更多的选项。

删除文件

使用 deleteObject 删除存储桶中的某个对象。

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

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

在这个代码段中,我们使用 deleteObject 方法删除存储桶中的特定对象。我可以指定以下参数:

  • Bucket — 存储桶的名称。
  • Key — 存储桶中对象的唯一键。

结论

使用 s3-compatible-bos 包和您的 Baidu BOS 帐户,您可以存储和检索物品。我们希望本教程对您有所帮助。如果您有任何疑问,请在评论中留言。

完整示例

下面是创建并上传文件的完整代码示例:

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

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

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

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

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

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

纠错
反馈