API 故障排查
如果你在使用 API 或 Megaport Terraform 方案时遇到问题,请按照以下排查操作逐步进行。
有关 API 教程和分步指南,请参见 Megaport API 概览。完整参考(包括可用示例)请参见 https://dev.megaport.com/。
要试用 API,建议使用已导入 Megaport Collection 的 Postman 客户端;有关下载和使用 Postman 的信息请参见文档。
排查操作
| 操作 | 步骤 |
|---|---|
| 确保 API 访问令牌有效 | Megaport API 调用需要使用访问令牌,你可以在创建 API 密钥后生成该令牌。访问令牌用于对 API 用户进行身份验证,并仅对 Megaport Portal 所需的部分授予临时访问权限。访问令牌的有效期最长为 24 小时,过期后需要生成新的访问令牌。有关详细信息,请参见 创建 API 密钥。 |
| 确保 API 环境(URL)正确 | 请确保你使用的 URL 指向目标环境。
|
| 确保 API 参数正确 | Megaport API 使用标准 HTTP 响应代码。一般而言,出现 400 - Bad Request 错误通常是由于缺少或错误的参数所致。如果你遇到此错误,请仔细检查你的参数。 |
| 确保你的 API 语法正确 | 与 Megaport API 交互时,正确的语法至关重要。Megaport API 基于 REST,使用可预期的 URL,并接受表单编码的请求主体。 你可以在 https://dev.megaport.com 查看正确调用的示例。请从该页面的下拉菜单中选择你偏好的语言,即可查看在 API 环境中执行各项操作的示例。 |
| API 限制 | 常规速率限制 每个 IP 地址在滚动的 5 分钟窗口内的请求数限制为 500。 服务更新 每 5 分钟每项服务只能进行一次更新,并且每项服务每月最多 100 次更新。 Note (注意): 目前这些不是硬性限制,但当发生超限时,Megaport 会进行监控与审核。如果发生超限,访问可能会被阻止。 |
常见 API 错误消息
登录错误
"message": "Bad session token - try logging in again."
常见原因:
- 用户名、邮箱或密码不正确
- 缺少或错误的令牌
语法错误
HTTP Status 400 – Bad Request
当缺少必需的语法或语法不正确时,通常会出现此错误。
不正确的 API URL
与 URL 不正确相关的错误示例如下:
“message”:” Service abcd1234 has wrong product type VXC”
在此场景中,客户使用了以下 URL:
URL = "https://api-staging.megaport.com/v2/product/megaport/abcd1234-1234-1234-1234-abcdef123456/telemetry?from=1614283800000&to=1614284400000&type=BITS"
但正确的 URL 为:
URL = "https://api-staging.megaport.com/v2/product/vxc/abcd1234-1234-1234-1234-abcdef123456/telemetry?type=A_BITS&from=1614283800000&to=1614284400000"
参数不正确
例如,某客户在以下时间范围内请求 VXC 遥测数据时报告无输出:
- 开始:GMT: Tuesday, August 3, 2021 1:52:23 PM
- 结束:GMT: Tuesday, August 3, 2021, 1:57:23 PM
语法
https://api-staging.megaport.com/v2/product/vxc/abcd1234-1234-0000000000telemetry?type=A_BITS&from=1627998743&to=1627999043
输出
{“serviceUid”:”abcd1234-1234-0000000000”,”type”:”A_BITS”,”timeFrame”:{“from”:1627998743,”to:”1627999043},”data”:[ ]}
根据 Get VXC Telemetry docs,From 和 To 参数必须以毫秒为单位设置为各自的 epoch 值(因此每个值末尾需要额外的零):
https://api-staging.megaport.com/v2/product/vxc/abcd1234-1234-0000000000telemetry?type=A_BITS&from=1627998743000&to=1627999043000
Megaport 所需数据
如果上述排查操作仍未解决你的问题,请联系 Megaport 支持。 对于 API 相关问题,Megaport 将在后端进行调查与排查。
为便于调查,请提供你已执行测试的结果以及其他相关信息,例如:
- 使用的邮箱/账号
- 操作发生及错误发生的日期、时间和时区
- API 配置
- API URL
- 请求体数据
- 端点参数与语法
- 错误类型及其截图