npm 包 do-wrapper 使用教程

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


猜你喜欢

  • jQuery.parseHTML()方法

    在Web前端开发中,经常会遇到需要处理HTML字符串的情况。而jQuery库中的parseHTML()方法就是用来将一个字符串转换为DOM元素的方法。本文将详细介绍parseHTML()方法的用法及示...

    6 年前
  • npm 包 ember-moment 使用教程

    介绍 Ember.js 是一款使用 JavaScript 构建 Web 应用程序的前端框架,而 ember-moment 就是一个用于在 Ember 应用中使用 moment.js 库的插件。

    6 年前
  • npm 包 ember-cli-mirage 使用教程

    Ember-cli-mirage 是一个用于测试 Ember.js 应用程序的 npm 包。它允许您模拟出许多不同的场景,如在后端尚未准备好时的 API 接口、异常情况、并发访问等等。

    6 年前
  • npm 包 broccoli-templater 使用教程

    简介 Broccoli-templater 是一个基于 Broccoli 核心的插件,它可以让开发者在开发过程中更方便地使用模板引擎。使用它可以快速地编写出符合要求的网页效果,并减少代码量和开发时间。

    6 年前
  • NPM 包 fastboot-express-middleware 使用教程

    介绍 如果您的应用程序使用了 Ember.js 框架,那么您可能需要在服务器端渲染您的应用程序以提高性能。Fastboot 是一个渲染引擎,它可以在服务器端渲染您的应用程序。

    6 年前
  • npm 包 jquery-deferred 使用教程

    jQuery Deferred 是一种非常强大的 JavaScript 库,它可以帮助开发者管理异步流程,同时提高代码可读性和可维护性。 在前端开发中,jQuery Deferred 最常用于处理 A...

    6 年前
  • npm 包 najax 使用教程

    najax 是一个轻量级的 jQuery Ajax 替代品,可以通过 npm 包管理器安装并使用。najax 支持常见的 Ajax 操作,并且使用起来非常简单。在本文中,我们将介绍如何安装和使用 na...

    6 年前
  • npm 包 fastboot 使用教程

    前言 在开发前端应用的过程中,我们常常需要考虑到 SEO 和首屏渲染的性能问题。而快速的服务端渲染技术已经变得越来越流行。本文将介绍一款使用 Node.js 进行服务端渲染的 npm 包 fastbo...

    6 年前
  • npm 包 fastboot-transform 使用教程

    前言 网页性能优化一直是前端开发者关注的热点话题。其中,改善网页的首次加载速度是尤为重要的一环。为了缩短首次加载时间,前端开发人员需要深入了解多个方面,如资源体积、资源压缩、编译优化等。

    6 年前
  • npm 包 ember-sinon 使用教程

    在前端开发中,我们经常需要进行单元测试和集成测试,而 Sinon.js 是一个流行的 JavaScript 测试框架,它可以模拟 HTTP 请求、模拟定时器、模拟事件等常见场景。

    6 年前
  • 使用 Ember-maybe-import-regenerator-for-testing npm 包的技巧与指导

    在前端开发过程中,我们常常需要测试我们的代码。但是,测试代码也有它的限制。比如,我们在使用 generator 函数的时候,测试代码可能会因为不支持 generator 函数而失败。

    6 年前
  • npm 包 ember-cli-fastboot 使用教程

    简介 Ember-cli-fastboot 是一个开源的 npm 包,它使得使用 Ember.js 开发的应用程序能够在服务器上渲染,而不是必须在浏览器中运行。这意味着可以创建更好的 SEO,更好的性...

    6 年前
  • npm 包 ember-cli-addon-tests 使用教程

    前言 对于前端开发者来说,使用 npm 包是非常常见和重要的一件事情。其中,ember-cli-addon-tests 是一个非常实用的 npm 包,可以帮助我们在开发 Ember.js 插件时快速编...

    6 年前
  • npm 包 ember-fetch 使用教程

    ember-fetch 是一个基于 fetch 规范的轻量级网络请求库,适用于 Ember.js 前端框架。它支持 Promise API、拦截器、请求和响应转换器等功能。

    6 年前
  • npm 包 ember-native-dom-helpers 使用教程

    前言 在开发一个 Web 应用时,我们通常会使用前端框架来加速开发、提高可维护性和性能。Ember 是一个流行的前端框架,它提供了用于管理应用程序状态和数据的强大和高度抽象的工具。

    6 年前
  • npm 包 ember-root-url 使用教程

    前言 ember-root-url 是一个 npm 包,它可以帮助你获取 Ember.js 应用程序的根 URL。如果你使用 Ember.js 开发 Web 应用程序,那么确保应用程序能够正确生成 U...

    6 年前
  • npm 包 Ember-Decorators 使用教程

    什么是 Ember-Decorators? Ember-Decorators 是一个为 Ember.js 应用提供了基于装饰器的语法糖的 npm 包,它可以帮助开发者更快速、方便、直观地编写 Embe...

    6 年前
  • npm 包 copy-dereference 使用教程

    什么是 copy-dereference? copy-dereference 是一个 npm 包,专门用于复制 Node.js 对象中的 Circular reference。

    6 年前
  • npm 包 broccoli-filter 使用教程

    npm 包 broccoli-filter 使用教程 简介 broccoli-filter 是一个 npm 包,它提供了一个很方便的 API 用于过滤并转换文件。broccoli-filter 适用于...

    6 年前
  • npm 包 ember-qunit-assert-helpers 的使用教程

    前言 ember-qunit-assert-helpers 是一个方便的测试辅助包,它包含了一些测试时经常使用的断言函数,能够提高测试效率和可读性。本文将介绍如何安装和使用这个包,并提供一些示例代码。

    6 年前

相关推荐

    暂无文章