如何将Sumologic API数据集成到Power BI并解决user-not-found错误
目标
我的目标是通过Sumologic API获取Sumologic仪表盘的数据,在Power BI的仪表盘中展示。我先在Git Bash中测试接口调用,再将URL填入Power BI Desktop实现数据可视化。
- 我已获取Access ID,格式示例:
h2348f9 - 我已获取Access Key,格式示例:
23h9qwdjqqq9qqi39d3ef9f94kks9k94k - 我尝试用来访问仪表盘的URL为:
https://api.sumologic.com/api/v2/dashboards/{dashboard id goes here},参考Sumologic Get Dashboard官方文档配置。 - 我已经获取了我认为正确的Dash ID,该Dash ID是我从Sumologic UI界面的URL末尾提取得到的。
我已经通过Power BI Desktop UI的「Basic」身份验证设置,将Access ID作为用户名、Access Key作为密码,成功通过API访问了https://api.sumologic.com/api/v1/collectors?limit=10的数据。
(该操作参考Power BI API官方文档的前几步完成,即使文档说明是针对Azure而非SumoLogic,也能正常运行。)
问题
但我在Git Bash中执行curl命令GET仪表盘数据时:
curl -u "(AccessID):(AccessKey)" -X GET "https://api.sumologic.com/api/v2/dashboards/(dashboardID)"
得到如下JSON响应:
{ "id":"10NLC-3CNIS-5QN8J", "errors":[ {"code":"user:not_found", "message":"Object Not Found."} ] }
我也无法将该接口调用添加到Power BI中,大概率是同一个错误导致的。之前我添加第一个URLhttps://api.sumologic.com/api/v1/collectors?limit=10时不需要额外的用户信息就可以成功。
这个错误似乎说明ID是正确的(因为之前我得到的是“Incorrect ID”错误,而非JSON响应),但我无法确定。请问我该如何解决这个user-not-found错误?
解决方案
你可以按照以下步骤逐一排查:
- 匹配API端点区域
Sumologic的API域名和实例部署区域绑定,默认api.sumologic.com仅对应美东1区。如果你的实例部署在其他区域(美西、欧洲、亚太等),需要替换为对应区域的API域名,你可以登录Sumologic后台后从浏览器地址栏的域名前缀反推正确的API域名。 - 核对密钥权限
你当前使用的Access ID/Key仅拥有v1版本collectors接口的访问权限,不代表默认拥有v2版本仪表盘的读取权限:
- 进入Sumologic管理后台的用户与角色配置页,核对生成密钥的账号所属角色是否开启了仪表盘查看权限
- 确认该账号有权限访问你提取ID的对应仪表盘,私有仪表盘仅创建者和授权用户可访问
- 确认Dash ID取值正确
确保你从URL提取的ID是完整的三段式xxx-xxx-xxx格式,没有多取/少取字符,也没有带入?、&等查询参数前缀。 - 修正curl命令格式
确保你的curl命令中Access ID和Key部分没有保留占位括号、没有多余空格,也没有带入全角符号,正确的命令格式如下:
curl -u "实际AccessID:实际AccessKey" -X GET "https://对应区域API域名/api/v2/dashboards/实际DashID"
内容的提问来源于stack exchange,提问作者Micah
相关产品推荐
相关产品推荐

