开始使用 Cloudability API V3

应用程序接口认证

作者注: 验证 Cloudability 商用、基本、标准和高级

您可以使用 Cloudability API keys 或 Access Administration apptio-opentoken 来验证 Cloudability API 请求。

API 交互的创建、更新、读取和删除权限与 Cloudability 用户权限相对应。 例如,只有 Cloudability 管理员才能为数据收集提供新的容器群集,而任何具有 API 访问权限的 Cloudability 用户都可以获取现有容器群集的资源使用信息。

注:

由于 Cloudability 现已向欧洲、亚太和中东地区的用户提供,本文档中所有提及 api.cloudability.com 的内容应分别由欧盟、亚太或中东地区的客户称为 api-eu.cloudability.com 或 api-au.cloudability.com 或 api-me.cloudability.com。

注:

在 GovCloud 环境中,必须使用 Access Administration apptio-opentoken 来验证 Cloudability API 请求。 GovCloud 环境不支持使用 Cloudability API 密钥进行身份验证。

Cloudability API 密钥

创建 Cloudability API 密钥:

  1. 在浏览器中打开以下 URL : https://app.apptio.com/cloudability#/settings/preferences.
  2. Cloudability API 部分,选择 启用 API。 API 密钥将生成并显示在文本框中。

Access Administration 应用

有关如何获取 apptio-opentoken 的信息,请参阅 Access Administration API:通过 API 密钥进行身份验证

作者注: 面向政府Cloudability 的身份验证

应用程序接口互动

使用 Coudability API 密钥进行 API 交互

使用 apptio-opentoken 启用对我们 API 的访问。 请访问 Enhanced Access Administration API:通过 API 密钥进行身份验证 ,了解如何获取应用程序密码。

与 Cloudability 的 API 交互通过 https 保证安全。 您的 apptio-opentoken 构成基本 auther 头信息中的用户名部分。 因此,授权标头看起来就像这样:

授权:基本

示例

下面的 API 调用会返回所有当前预算的列表。

curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'

应用程序接口互动

作者注: 验证 Cloudability 商用、基本、标准和高级

使用 Coudability API 密钥进行 API 交互

与 Cloudability 的应用程序接口交互通过 HTTPS 保证安全。 您的令牌构成基本认证标头的用户名部分。 基本身份验证的授权标头格式如下:

授权:基本

示例

下面的 API 调用会返回所有当前预算的列表。

curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'

使用 Frontdoor apptio-opentoken 进行 API 交互

使用这种身份验证方法时,要在头文件中传递 apptio-opentoken 和 apptio-environmentid。

示例

以下 API 返回所有当前预算的列表。

curl https://api.cloudability.com/v3/budgets -H "apptio-opentoken: [apptio opentoken]" -H "apptio-environmentid: [apptio Access Administration environment id]"

回复格式

所有成功的答复都将采用以下格式:

{
    result: {} or [],
    meta: {},
}
  • result 将包含调用的结果或有效载荷。

  • 如果相关,辅助信息(如分页细目等)将存在 于元 属性中。

  • 如果没有值(即数字、字符串),原始值将为

  • 如果没有值,对象和数组将返回空状态 ( [] )。

  • 日期以 ISO 8601 标准表示,使用 YYYY-MM-DD 格式。

页眉

POST 和 PUT 请求

Content-Type: application/json

GET 请求(适用于所有终端)

接受: 应用程序/json

GET 请求(部分终端支持)

接受:文本/csv

授权(如果使用 Cloudability API 密钥)

授权:Basic <cldy_token>

分页

并非所有终端都支持分页。 不支持分页的终端将始终返回所有记录。 支持分页的端点默认会返回前 50 条匹配记录。

尝试分页时,必须同时使用 limitoffset 参数。 使用这些参数时,结果集将限制在偏移值的指定范围内。

limit 的默认值为 50(返回 50 条记录), 偏移量 为 0(记录的起点)。

示例

下面的示例显示了如何使用 限值偏移 参数来 排序

/views?limit=5&offset=20

分类

使用 排序 查询参数对结果进行排序。 要指定排序顺序,可在属性前添加 -( 降序)或 +( 升序)。

示例

终点 属性降序排列 投资组合 终点的结果。

/portfolio/ec2?sort=-end

终点 属性升序排列 投资组合 终点的结果。

/portfolio/ec2?sort=%2bend

(确保正确编码 + 符号)

过滤

使用 过滤 查询参数时,需要提供一个要过滤的维度,然后是过滤表达式。

过滤查询会限制结果中包含的行数。 结果中只包含符合筛选条件的记录。 请注意,客户端库会自动 URL 对过滤运算符进行编码。 但是,如果直接向协议发出请求,则必须对以下过滤运算符进行显式 URL 编码。 此外,在汇总任何维度之前都会进行筛选,这样返回的度量值就只代表相关记录的总和。

过滤器语法:名称运算符表达式

name: 筛选维度的名称。

操作符: 指定要使用的筛选匹配类型。 您可以使用以下运算符:

== (等于)

!= (不等于)

> (大于)

< (小于)

>= (大于或等于)

<= (小于或等于)

=@ (包含)

!=@ (不包含)

表达式: 说明结果中包含的值。

要对一个请求应用多个筛选器,请在一个筛选器参数中用逗号分隔。

示例

检查 状态 是否激活:

/portfolio/ec2?filter=state==active

检查状态是否为退休:

/portfolio/ec2?filter=state==retired

检查 尾数 是否小于 1541803776000:

/portfolio/ec2?filter=end<1541803776000

检查 尾数 是否大于 1541803776000:

/portfolio/ec2?filter=end>1541803776000

应用多个过滤器

/portfolio/ec2?filter=state==active,end>1541803776000

Cloudability 终点示例

每个端点的文档都将包含大量示例,展示如何与应用程序接口交互。 示例将使用 cURL 进行 HTTP 交互,使用 jq 解析 JSON。 这两种 CLI 工具都被广泛使用,可以轻松与 RESTful API 进行交互。