如何使用API​​ DigitalOcean V2

在本教程中,我们将教你如何开始使用DigitalOcean API 2.0版。我们将告诉你如何产生的个人访问令牌,这将被用于验证和展示的API如何使用的几个例子。 该DigitalOcean API允许你在使用传统的HTTP请求的简单,编程方式DigitalOcean云中管理Droplet和资源。

介绍

在本教程中,我们将教您如何开始使用DigitalOcean API v2.0。我们将向您展示如何生成个人访问令牌,这将用于身份验证,并显示如何使用API的几个示例。 DigitalOcean API允许您使用传统的HTTP请求以简单的编程方式管理DigitalOcean云中的Droplet和其他资源。端点是直观和强大的,允许您轻松地调用以检索信息或执行操作。您可以通过DigitalOcean控制面板执行的任何操作(个人访问令牌操作除外)也可以使用API执行。

如何生成个人访问令牌

使用API的第一步是生成个人访问令牌。个人访问令牌像普通OAuth访问令牌一样运行。可以使用它们代替通过HTTPS的DigitalOcean的密码,或者可以用于通过基本身份验证对API进行身份验证。 DigitalOcean令牌可以使用读取或读写范围创建。如果您想以任何方式修改帐户(例如创建或删除Droplet),则需要写入范围。 要生成个人访问令牌,请先登录到DigitalOcean控制面板。 接下来,在顶部菜单中,单击API。 在个人访问令牌部分,单击生成新的令牌按钮: 生成新令牌按钮 您将进入新的个人访问令牌屏幕: 新个人访问令牌屏幕 在这里,提供以下信息:
  • 您所需的令牌名称(供您自己参考)
  • 选择此令牌的范围(读取或读取/写入)
然后单击生成令牌按钮。 您的令牌将生成并在您的个人访问令牌页面上显示给您。实际令牌是数字和字母的长字符串,名称为: 示例令牌 确保令牌现在记录你个人访问 。出于安全目的,将不再显示。 现在您已生成个人访问令牌,您可以像密码一样使用该API,以便在您的帐户中使用API。 注意 :请记住,让您的令牌秘密! 它们的功能类似于密码。 不要将你的令牌硬编码到程序中 - 使用环境变量。 如果令牌被盗用,请将其删除以撤销该令牌的访问权限。

使用API

我们将介绍一些示例API请求,使用curl命令。 这将允许我们以简单的文本格式展示各种端点。 完整的API文档在这里: DigitalOcean API 2.0版文档 。 对于所有的例子中,我们将把令牌分配给一个叫做变量TOKEN 。例如,在bash中(用您自己的令牌替换突出显示的文本):
export TOKEN=77e027c7447f468068a7d4fea41e7149a75a94088082c66fcf555de3977f69d3
注意 :如果您试图访问一个令牌API不存在,您将看到以下错误信息:
{
  "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和资源管理!

资源