本文档介绍如何解决批量实例 API 创建操作的问题。
操作错误
当您使用批量实例 API 创建虚拟机时,如果请求成功启动,create
请求会返回 HTTP 200 OK
以及 RUNNING
状态。如果请求未成功启动,API 会返回以下响应之一。
无效
如果在创建虚拟机时出现以下 API 响应字段,则说明 API 请求未正确写入,或者使用了批量 API 不支持的属性。
API 响应字段:
HTTP 400
"reason": "invalid"
如需解决此问题,请执行以下操作:
- 查看响应中的
message
字段,以确定请求中的哪个属性导致了错误。 - 更新导致错误的属性。
- 重试请求。
- 如果请求再次失败,尝试使用 API Explorer 来验证请求。如需了解详情,请参阅验证 API 请求。
超出配额
如果创建虚拟机时出现以下 API 响应字段,则说明已达到某个资源的配额上限。如需详细了解配额,请参阅资源配额。
API 响应字段:
HTTP 403
"reason": "quotaExceeded"
- 查看 `message` 字段以确定请求超出了哪个资源配额。
- 执行以下任一操作:
- 使用较少的虚拟机数量重试请求
- 申请增加配额
超出速率限制
如果在创建虚拟机时出现以下 API 响应字段,则说明已达到每秒 20 个请求的限制,或者同时运行了超过 10 个批量操作。
API 响应字段:
HTTP 403
"reason": "rateLimitExceeded"
如需解决此问题,请等待一些请求完成,然后尝试再次发出请求。
容量不足
如果在创建虚拟机时出现以下 API 响应字段,则说明您尝试在其中创建虚拟机的区域或可用区容量不足。
API 响应字段:
HTTP 503
"reason": "insufficientCapacity"
- 在另一个区域中创建虚拟机
- 如果使用可用区端点,则在另一个可用区中创建虚拟机
- 尝试其他虚拟机配置
- 稍后重试请求
请求状态错误
当您使用批量实例 API 创建虚拟机时,如果请求成功启动,create
请求会返回 HTTP 200 OK
以及 RUNNING
状态。但是,请求可能会在完成之前失败。您可以检查请求的状态,以确保请求成功完成。如果请求未成功完成,您会看到以下请求状态之一。
超出配额
如果轮询操作时出现以下 API 响应字段,则说明请求由于达到某个资源的配额上限而失败。如需详细了解配额,请参阅资源配额。
API 响应字段:
"status": "done"
"httpErrorMessage": "FORBIDDEN"
"code"": "QUOTA_EXCEEDED"
如需解决此问题,请执行以下操作:
- 查看 `message` 字段以确定请求超出了哪个资源配额。
- 执行以下任一操作:
- 使用较少的虚拟机数量重试请求
- 申请增加配额
资源已经存在
如果在轮询操作时出现以下 API 响应字段,则说明请求因尝试创建已存在的资源而失败。
API 响应字段:
code: RESOURCE_ALREADY_EXISTS
httpErrorMessage: CONFLICT
status: DONE
如需解决此问题,请执行以下操作:
- 查看
message
字段以确定已存在的资源名称。 - 使用其他
namePattern
重试请求。如需了解详情,请参阅在一个区域中创建多个虚拟机。
容量不足
如果在轮询操作时出现以下 API 响应字段,则说明请求失败,因为您尝试在其中创建虚拟机的区域或可用区(如果使用可用区端点)容量不足。
API 响应字段:
"status": "DONE"
"httpErrorMessage": "SERVICE UNAVAILABLE"
"code": "ZONE_RESOURCE_POOL_EXHAUSTED"
如需解决此问题,请执行以下某项操作:
- 在另一个区域中创建虚拟机
- 如果使用可用区端点,则在另一个可用区中创建虚拟机
- 尝试其他虚拟机配置
- 稍后重试请求
后续步骤
- 如需详细了解如何使用批量实例 API,请参阅使用批量实例 API。