跳转至

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 指向目标环境。
  • PRODUCTION(生产环境) - ​​https://api.megaport.com
    功能完整的在线系统。你需要对在该系统中订购的任何服务及其相关费用负责。
  • STAGING(预生产环境) - https://api-staging.megaport.com
    可用于测试命令而不影响你的生产环境。预生产环境每隔 24 小时会使用最新的生产环境数据覆盖。
确保 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
  • 请求体数据
  • 端点参数与语法
  • 错误类型及其截图

有用的参考