介绍
在本教程中,我们将教您如何开始使用DigitalOcean API v2.0。我们将向您展示如何生成个人访问令牌,这将用于身份验证,并显示如何使用API的几个示例。 DigitalOcean API允许您使用传统的HTTP请求以简单的编程方式管理DigitalOcean云中的Droplet和其他资源。端点是直观和强大的,允许您轻松地调用以检索信息或执行操作。您可以通过DigitalOcean控制面板执行的任何操作(个人访问令牌操作除外)也可以使用API执行。如何生成个人访问令牌
使用API的第一步是生成个人访问令牌。个人访问令牌像普通OAuth访问令牌一样运行。可以使用它们代替通过HTTPS的DigitalOcean的密码,或者可以用于通过基本身份验证对API进行身份验证。 DigitalOcean令牌可以使用读取或读写范围创建。如果您想以任何方式修改帐户(例如创建或删除Droplet),则需要写入范围。 要生成个人访问令牌,请先登录到DigitalOcean控制面板。 接下来,在顶部菜单中,单击 API。 在个人访问令牌部分,单击 生成新的令牌按钮: 您将进入新的个人访问令牌屏幕: 在这里,提供以下信息:- 您所需的令牌名称(供您自己参考)
- 选择此令牌的范围(读取或读取/写入)
使用API
我们将介绍一些示例API请求,使用curl
命令。 这将允许我们以简单的文本格式展示各种端点。 完整的API文档在这里:
DigitalOcean API 2.0版文档 。 对于所有的例子中,我们将把令牌分配给一个叫做变量
TOKEN
。例如,在bash中(用您自己的令牌替换突出显示的文本):
export TOKEN=77e027c7447f468068a7d4fea41e7149a75a94088082c66fcf555de3977f69d3
注意 :如果您试图访问一个令牌API不存在,您将看到以下错误信息:
Token does not exist:{
"id":"not_found",
"message":"The resource you were accessing could not be found."
}
示例:列出所有操作
要列出当前帐户上已执行的所有操作,请向/ v2 / actions发送GET请求:curl -X GET "https://api.digitalocean.com/v2/actions" \
-H "Authorization: Bearer $TOKEN"
示例:列出所有Droplet
要列出帐户中的所有Droplets,请向/ v2 / droplet发送GET请求:curl -X GET "https://api.digitalocean.com/v2/droplets" \
-H "Authorization: Bearer $TOKEN"
示例:创建新的Droplet
要创建新的Droplet,请向/ v2 / droplet发送POST请求。对于必须设置为成功创建Droplet属性的完整列表,请参阅 完整的文档 。以下示例在NYC 2数据中心中创建一个名为“My-Droplet”的Ubuntu 14.04小型计算机,其中包含512 MB RAM:curl -X POST "https://api.digitalocean.com/v2/droplets" \
-d'{"name":"My-Droplet","region":"nyc2","size":"512mb","image":"ubuntu-14-04-x64"}' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
注 :此要求,如使更改帐户任何其他要求,要求你的令牌“写”分配给它的范围。
示例:创建多个Droplet
您还可以使用单个API请求通过向/ v2 /Droplet发送POST来创建具有相同属性的多个Droplet。不要在请求中提供单个名称,而是提供一个名称数组。以下示例创建两个Ubuntu 14.04 Droplets,一个名为“sub-01.example.com”,一个名为“sub-02.example.com”。它们都位于NYC 2数据中心,具有512 MB RAM:curl -X POST "https://api.digitalocean.com/v2/droplets" \
-d'{"names":["sub-01.example.com","sub-02.example.com"],"region":"nyc2","size":"512mb","image":"ubuntu-14-04-x64"}' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
使用包装器对于API
对于API,有多种不同语言的包装器。封装器可用于将API集成到脚本或应用程序中,并且通常可以在GitHub上找到。 下面是使用官方DigitalOceanRuby包装的一个例子 DropletKit 。我们将演示如何使用DropletKit创建和删除一个Droplet,但一定要检查文档更多的功能。 确保您已安装RubyGems,然后使用以下命令安装DropletKit:gem install droplet_kit
DropletKit示例:创建新的Droplet
我们将演示如何使用DropletKit在NYC 3数据中心创建一个名为“My-Droplet”的Ubuntu 14.04Droplet,使用1 GB RAM。 创建一个新的名为Ruby脚本create_droplet.rb
用下面的命令:
vi create_droplet.rb
然后粘贴以下代码(替换突出显示的单词“token”,用您的个人访问令牌与写访问):
create_droplet.rb
#!/usr/bin/ruby
require 'droplet_kit'
token='token'
client = DropletKit::Client.new(access_token: token)
droplet = DropletKit::Droplet.new(name: 'example.com', region: 'nyc3', size: '1gb', image: 'ubuntu-14-04-x64')
client.droplets.create(droplet)
保存并退出。现在使用以下命令运行创建脚本:
ruby create_droplet.rb
您已启动指定Droplet的创建。
DropletKit示例:删除Droplet
我们将演示如何使用DropletKit删除DropletID为1916711
。 创建一个新的名为Ruby脚本
delete_droplet.rb
用下面的命令:
vi delete_droplet.rb
并粘贴以下代码(替换突出显示的单词“token”,用您的个人访问令牌与写访问,并替换DropletID):
delete_droplet.rb
#!/usr/bin/ruby
require 'droplet_kit'
token='token'
client = DropletKit::Client.new(access_token: token)
client.droplets.delete(id: 1916711)
保存并退出。现在使用以下命令运行删除脚本:
ruby delete_droplet.rb
您已对指定的Droplet启动删除操作。
结论
请访问 DigitalOcean API 2.0版文档 ,详细了解如何利用该API来提高你的Droplet和资源管理!资源
- 提交反馈在APIv2 GitHub的问题页面
- DigitalOcean的APIv2有哪些库和包装器?
- DigitalOcean的APIv2有什么新的和不同的?
- 探索API教程和问题上DigitalOcean
- DigitalOcean API v2.0文档