Cribl Search - 使用API进行搜索
创建凭据
在使用 Cribl Cloud 的 API 时,登录过程与自托管环境略有不同。您需要生成客户端 ID 和客户端密码来完成认证。
要生成这些凭据,您可以通过 Cribl Cloud 控制台的“组织”页面完成操作。登录后,进入“组织”选项卡下的“API 凭据”部分,然后点击 添加具有所需权限的凭据 按钮。
有关更多详细信息,请参考 Cribl 官方文档。
登录 Cribl Cloud
Cribl Cloud 的登录 URL 是统一的,格式为:
https://login.cribl.cloud/oauth/token
请求的正文需要采用 URL 格式编码,并包含以下字段和值。
以下是一个示例 [curl](https://www.explinks.com/wiki/what-are-curl-url-uri/) 请求(注意:示例中使用的凭据是虚构的,仅供参考):
curl -X POST https://login.cribl.cloud/oauth/token
-H "Content-Type: application/x-www-form-urlencoded"
-d "grant_type=client_credentials&client_id=your_client_id&client_secret=your_client_secret"
成功的响应将类似于以下内容:
{
"access_token": "your_access_token",
"token_type": "Bearer",
"expires_in": 3600
}
在后续的 API 调用中,您需要使用响应中的 access_token 进行身份验证。将其作为请求头中的 Authorization 字段,格式为:
Authorization: Bearer <>
创建搜索任务
在 Cribl Cloud 中,您需要使用两个独立的端点来创建搜索任务并获取结果。第一个端点用于创建搜索任务,其格式如下:
https://main-incredible-swift-abc13ts.cribl.cloud/api/v1/m/default_search/search/jobs
发送到此端点的请求正文需要是一个 JSON 对象。需要注意的是,查询语句必须以 cribl 运算符开头。
以下是一个示例 curl 请求:
curl -X POST https://main-incredible-swift-abc13ts.cribl.cloud/api/v1/m/default_search/search/jobs
-H "Authorization: Bearer <>"
-H "Content-Type: application/json"
-d '{
"query": "cribl dataset="cribl_search_sample" | limit 1000",
"start": "-1h",
"end": "now"
}'
成功的响应将包含有关创建的搜索任务的详细信息,包括获取结果所需的任务 ID。
等待搜索完成
在获取搜索结果之前,您需要确认搜索任务已完成。可以通过向状态端点发送 GET 请求来检查任务状态。
以下是一个示例 curl 请求:
curl -X GET https://main-incredible-swift-abc13ts.cribl.cloud/api/v1/m/default_search/search/jobs/
-H "Authorization: Bearer <>"
响应将返回一个包含 items 数组的 JSON 对象,其中包含搜索任务的状态信息。当状态为 completed 时,表示搜索已完成。
获取搜索结果
一旦搜索任务状态为 completed,您可以通过将 offset 和 limit 参数作为查询字符串传递,来获取以换行符分隔的 JSON 格式结果。
以下是一个示例 curl 请求:
curl -X GET https://main-incredible-swift-abc13ts.cribl.cloud/api/v1/m/default_search/search/jobs//results
-H "Authorization: Bearer <>"
-G --data-urlencode "offset=0" --data-urlencode "limit=100"
示例响应如下:
{
"isFinished": true,
"limit": 100,
"offset": 0,
"persistedEventCount": 1000,
"totalEventCount": 1000,
"job": {
"id": "1732566655829.Z6s9KD",
"query": "cribl dataset="cribl_search_sample" | limit 1000",
"start": "-1h",
"end": "now",
"createTime": 17325666551887,
"startTime": 1732566656017,
"completeTime": 1732566670600,
"status": "completed"
}
}
通过调整 offset 和 limit 参数,您可以分批获取整个结果集。请注意,返回的第一个项目通常是状态消息,包含有关搜索的元信息。
总结
本文介绍了如何通过 Cribl Cloud 的 API 创建搜索任务并获取结果的完整流程,包括生成凭据、登录、创建搜索、检查任务状态以及获取结果的步骤。通过这些操作,您可以高效地利用 Cribl 的强大搜索功能来满足数据分析需求。
如需更详细的技术信息,请参考 Cribl 官方文档。
原文链接: https://cribl.io/blog/cribl-search-searching-using-the-api/
最新文章
- 深入解析Electron Web API权限 – Doyensec博客
- API安全风险及其缓解方法 | Kong公司
- 社交媒体应用中的api集成:关键角色与功能
- 如何获取心知天气开放平台 API Key 密钥(分步指南)
- 什么是 LangGraph?
- API 速率限制策略:流控算法、实现原理与实战方案
- NFC支付是什么?如何改变我们的支付方式
- AI零门槛变现秘籍:最新赚钱公式全公开
- Postman API 测试全面指南(附测试示例)
- OpenAI GPT-4o 图像生成 (gpt-image-1) API – IMG.LY
- 如何使用 OpenAI 的 Sora API:综合使用指南
- 如何使用 amazon scraper api 进行商品数据采集