第 3 章 发出 API 调用
可以通过多种方式向 Red Hat Insights API 发出 API 调用。一些可用的方法包括:
-
使用命令行或脚本使用
curl
命令 - 在混合云控制台中访问 Insights API 文档
- 在混合云控制台中引用传统文档
- 通过您的客户端代码中的 Python 解释器或其他编程语言进行调用
您应该在要执行 API 调用的应用程序或系统中设置并配置了服务帐户。有关验证的详情,请参考 第 2 章 使用 Insights API 配置身份验证。
Red Hat Developers API Catalog 可帮助您以各种语言和格式创建有效的 API 调用,包括 curl
命令。例如,您可以在 curl
命令中发送 API 调用,或者在 python 代码中嵌入 python 格式的 API 调用。在命令中使用 GET/api/insights/v1/account
API 调用,或者在代码中返回由机构 ID 的所有已知帐户的列表(org_id
)。
3.1. 使用 curl 命令 复制链接链接已复制到粘贴板!
您可以使用 curl
命令通过 HTTP 服务器通信,而无需使用浏览器。curl
可用于从命令行发出快速请求,如请求状态、更新参数或请求特定参数的值。
这个示例流程使用 Advisor API 端点。
先决条件
- 您有一个从服务帐户获取或离线访问令牌进行身份验证的访问令牌。
- 服务帐户具有与请求的端点交互所需的权限。
流程
- 在 Web 浏览器中打开 API 目录。API 目录列出了 Insights 和其他服务的可用 API。
- 从目录中选择 Advisor。Insights Advisor API 页面将打开。页面中列出了 Advisor API 的基本 URL 以及任何身份验证要求。
在 Operations 列表下,单击
GET /api/insights/v1/account
旁边的下拉箭头。操作的描述包括可用于优化 API 调用的参数,以及来自服务器的预期响应。此外,页面右侧的面板包含用于以多种语言执行 API 调用的示例代码。
-
在面板中,点下拉列表并从选项列表中选择 CURL。面板显示 GET 操作的示例代码,格式为
curl
命令。 复制示例代码并将其粘贴到命令行或要调用 GET 命令的现有代码文件中。
curl --request GET \ --url https://console.redhat.com/api/insights/v1/account/ \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json'
# curl --request GET \ --url https://console.redhat.com/api/insights/v1/account/ \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
粘贴访问令牌以代替 <
token>
。 - 按 Enter 键调用该命令。
如果命令行返回 200,则代表您的 API 调用成功。除了成功响应以及操作的可选描述外,服务器还会返回您请求的数据。
如果命令行返回 200 以外的响应,请参阅 Response Codes,以确定 API 调用失败以及如何补救失败的原因。
其他资源
- Red Hat Insights API cheat sheet 包含有关如何验证您的 API 访问的信息,以及 Insights 服务的通用查询示例。cheat 表格还包含 python 和 Ansible 的示例。要下载 cheat 表格,请导航到 Red Hat Insights API cheat sheet。
- Red Hat Developers API 目录 :https://developers.redhat.com/api-catalog