Ali*_*eib 1 amazon-web-services aws-sdk aws-api-gateway aws-sdk-js
我尝试通过调用deleteUsagePlan函数并传递usagePlanId参数来使用AWS SDK删除使用计划,如下所示:
const params: AWSNXR.APIGateway.DeleteUsagePlanRequest = {
usagePlanId: usage_plan_id,
};
const apigw = new AWS.APIGateway();
const response = await apigw.deleteUsagePlan(params).promise();
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我无法这样做,并且收到此错误:BadRequestException:无法删除使用计划 USAGE_PLAN_ID_HERE,因为有与其关联的 API 阶段,包括 API_ID_HERE:测试
重现步骤:
1-使用以下参数创建使用计划
名称:“my_usage_plan”,apiStages:[ apiId:“API_ID_HERE”,阶段:“测试”]
2-删除使用计划
使用计划 ID:USAGE_PLAN_ID
我在步骤 #2 中不断收到错误消息: BadRequestException: 无法删除使用计划 USAGE_PLAN_ID_HERE 因为有与其关联的 API 阶段,包括 API_ID_HERE:test
预期行为:
预期的行为是能够使用使用计划 ID 删除新创建的使用计划
附加内容:
我尝试解决此问题的方法: 1- 我尝试删除 API 网关上的测试阶段 2- 我使用相同的使用计划 ID 运行删除使用计划功能
使用计划已成功删除,没有任何错误,但是,我应该能够删除它,而无需删除阶段并在之后重新创建它。
小智 5
在删除使用计划之前,您必须删除 api 阶段,您可以通过调用 updateUsagePlan 来完成此操作,如下所示:
const params = {
usagePlanId: "{usage plan id}",
patchOperations: [{
op: "remove",
path: "/apiStages",
value: "{api gw id}:{stage name}"
}]
};
const apigateway = new AWS.APIGateway();
await apigateway.updateUsagePlan(params).promise();
Run Code Online (Sandbox Code Playgroud)
我找不到任何有关它的文档,只能通过跟踪浏览器中源自 aws 控制台的网络调用找到解决方案。
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |