npm 包 do-wrapper 使用教程

阅读时长 16 分钟读完

Do-wrapper 是一个专门用于与 DigitalOcean API 通信的 npm 包。 它提供了一种简单的方法来通过 JavaScript 代码访问和管理 DigitalOcean 资源。在本教程中,我们将介绍如何使用 do-wrapper 包和 DigitalOcean API。

开始使用

在开始之前,您需要安装 node.js(版本需要大于或等于 8),并且已拥有 DigitalOcean 账户以及一个 Personal Access Token。

安装 do-wrapper

可以使用 npm 包管理器来安装 do-wrapper:

或者,在你的项目中添加以下内容到dependencies部分来安装它:

通过 do-wrapper 实例化 API 对象

使用 do-wrapper 操作 DigitalOcean 的第一步是实例化一个 API 对象,我们可以通过以下代码来实现它:

执行操作

一旦您成功实例化了 do-wrapper 对象,就可以通过 DigitalOcean API 来执行各种操作。接下来,我们将通过例子来说明如何通过 do-wrapper 包来完成服务器的创建操作。

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

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

通过上述代码,我们可以看到如何通过 do-wrapper 包,并结合 DigitalOcean API 来创建服务器。您可以根据 DigitalOcean API 官方文档,结合 do-wrapper 的 API 手册,和实际项目需求来进行 API 操作。

手册

使用 do-wrapper 进行 API 操作时,您需要从 do-wrapper 对象的一个方法开始。 do-wrapper 提供了许多方法,以下是它们的简要信息:

方法名 参数 说明
actions(:dropletId) dropletId: Number / String 获取 droplet 上的 actions 列表。
certificates 获取所有证书(只有 DigitalOcean / Certbot 一起使用的证书)。
certificatesCreate opts: Object 创建证书,参阅 官方文档
certificatesDelete certificateId: Number / String 删除一个证书。
certificatesGet certificateId: Number / String 获取一个证书的细节。
certificatesLetsEncrypt opts: Object 使用 Let's Encrypt API 创建形式的自动 SSL 证书,参阅官方文档。
certificatesUpdate certificateId: Number / String
opts: Object
更新证书细节,查看官方文档。
domains 获取所有的域。
domainsCreate opts: Object 创建新的域记录,参阅 官方文档
domainsDelete recordId: Number / String 删除一个域记录。
domainsGet recordId: Number / String 获取一个域名记录的细节。
domainsRecords domainName: String / Number 获取指定域名记录的列表。
domainsRecordsCreate domainName: String / Number
opts: Object
为指定的域名创建一条新的记录,查看官方文档。
domainsRecordsDelete domainName: String / Number
recordId: Number / String
删除指定域名下的特定记录。
domainsRecordsGet domainName: String / Number
recordId: Number / String
获取指定域名下的特定记录的细节。
domainsUpdate domainName: String / Number
opts: Object
更新指定域名的信息,查看官方文档。
droplets 获取所有 droplets 的列表。
dropletsCreate opts: Object 创建一个 droplet,参阅官方文档。
dropletsDelete dropletId: Number / String 删除一个 droplet。
dropletsGet dropletId: Number / String 获取一个 droplet 的细节信息
dropletsKernels(:dropletId) dropletId: Number / String 获得关于 droplet 可用内核的信息
dropletsSnapshots 获得当前账户下所关联的 snapshot 列表
dropletsBackups 获取当前帐户下关联的所有备份的列表。
dropletsActions(:dropletId) dropletId: Number / String 获取 droplet 的 actions 列表。
dropletsNeighbors(:dropletId) dropletId: Number / String 列出 droplet 的邻居。
dropletsNeighborsRemove(:dropletId) dropletId: Number / String 删除 droplet 邻居。
dropletsRestore dropletId: Number / String
imageId: Number / String
恢复 droplet 并基于指定的镜像ID创建一个新的droplet。
dropletsNeighborsAdd(:dropletId) dropletId: Number / String
neighborId: Number / String
向 droplet 添加邻居。
dropletsUpgrades(:dropletId) dropletId: Number / String 列出可用的 droplet 升级。
images 获取所有可用图像的列表。
imagesDelete imageId: Number / String 删除一个特定的 image。
imagesGet imageId: Number / String 获取一个特定的 image 详细信息。
imagesUpdate imageId: Number / String
opts: Object
更新特定镜像的属性。
imagesActions imageId: Number / String 查询一个特定 image 的 actions。
keys 获取当前账户下所有 SSH key 的列表
keysCreate data: Object 向您的账户中添加新 SSH key。
keysDelete id: Number / String 删除指定的 SSH key。
keysGet id: Number / String 获取指定 PublicKey 的信息。
neighbors 获取邻居的列表。
projects 获得当前帐户下的项目列表。
projectsCreate opts: Object 创建一个新项目。
projectsGet projectId: Number / String 获取指定的项目。
projectsUpdate projectId: Number / String
opt: Object
更新一个项目。
projectsDelete projectId: Number / String 删除指定的项目。
regions(:regionId) regionId: Number / String 获取特定区域 ID 的细节信息。
sizes 获得可用的 droplet size 列表。
sshKeys 获取所有 SSH key 表。
sshKeysCreate data: Object 创建新的 SSH key。查看官方文档来获取详细信息。
sshKeysDelete id: Number / String 删除一个指定 SSH key。
sshKeysGet id: Number / String 获取指定 SSH key 的详情信息。
tags 获取当前帐户下的所有标签。
volumes 获取帐户中所有的卷。
volumesAction volumeId: Number / String
action: Object
对指定的卷执行特定操作
volumesCreate opts: Object 创建一个新的 volume。查看官方文档来获取更多细节。
volumesDelete volumeId: Number / String 删除指定的 volume。
volumesGet volumeId: Number / String 获取指定 volume 的细节。
volumesNeighbors(:volumeId) volumeId: Number / String 获取卷的邻居列表。
volumesResize volumeId: Number / String
sizeGigabytes: Number
调整指定 volume 的大小
volumesActions(:volumeId) volumeId: Number / String 获取特定卷上的 actions 列表。
volumesNeighborsAdd(:volumeId) volumeId: Number / String
dropletId: Number / String
向一个卷添加 droplet。
volumesNeighborsRemove(:volumeId) volumeId: Number / String
neighborId: Number / String
对卷删除邻居。
domainsGetAllRecords(:domainName) domainName: String / Number 获取指定域名下的记录列表。
imageActions imageId: Number / String 获取针对特定 image 的 actions 列表。
loadBalancers 获取当前帐户下的所有负载均衡器。
loadBalancersCreate opts: Object 在给定的地点创建负载均衡器。查看官方文档。
loadBalancersDelete loadBalancerId: Number/String 删除一个指定的负载均衡器。
loadBalancersGet loadBalancerId: Number/String 获取指定负载均衡器的细节信息。
loadBalancersUpdate loadBalancerId: Number/String
opts: Object
更新一个负载均衡器。
oneClickApp 获取当前帐户下所有一个单击应用程序的列表
oneClickAppGet slug: String 获取指定的一个单击应用程序的信息。
regions 获取可用数据中心的列表。
sizing 获取可用 droplet 大小的列表。
tagsDelete tagName: String 删除指定的 tag。
tagsCreate name: String 在您的账户中创建新标记。
tagsGet tagName: String 获取指定标签的信息。
tagsTagResources opts: Object 向指定资源添加标记。查看官方文档。
tagsUntagResources opts: Object 从指定资源删除标记。查看官方文档来获取详细信息。
volumesAttach volumeId: Number / String
dropletId: Number / String
在 droplet 中附加卷。查看官方文档来获取详细信息。
volumesDetach volumeId: Number / String
dropletId: Number / String
在 droplet 中取消附加卷。查看官方文档来获取详细信息。

每个方法都返回一个 promise。因此,使用 Promise 解析返回值,是处理查询结果的一种非常有效和简单的方法。

示例代码

以下是一个完整的示例代码,用于获取 DigitalOcean 帐户的所有 droplet。在执行前,请确保已安装 do-wrapper(已在本教程的前面阐述),已替换 YOUR_PERSONAL_ACCESS_TOKEN 为 DigitalOcean AccessToken:

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

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

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

总结

通过本教程,您已经学会了使用 do-wrapper 包来访问并管理 DigitalOcean API。您还可以使用 do-wrapper 包中的其他 API 方法来执行其他各种操作。该手册还包括大量的示例和详细信息,以帮助您了解和使用 do-wrapper API。如果您感兴趣,建议您查阅官方 documentation。

如果您有任何疑虑或问题,请在评论中留言,也可以查看官方文档或创建 issues。

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

纠错
反馈