开始使用 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 密钥:
- 在浏览器中打开以下 URL : https://app.apptio.com/cloudability#/settings/preferences.
- 在 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 条匹配记录。
尝试分页时,必须同时使用 limit 和 offset 参数。 使用这些参数时,结果集将限制在偏移值的指定范围内。
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 进行交互。