Amazon web services aws.com上手动删除后未返回无服务器API网关资源

Amazon web services aws.com上手动删除后未返回无服务器API网关资源,amazon-web-services,aws-lambda,aws-api-gateway,serverless-framework,amazon-api-gateway,Amazon Web Services,Aws Lambda,Aws Api Gateway,Serverless Framework,Amazon Api Gateway,我试图删除我在AWS API网关上手动创建的测试GET资源,但它删除了我在同一资源路径中的POST,现在当我sls deploy时,lambda资源不再出现在API网关的资源列表中: functions: updateLibrary: environment: ... handler: updates/lambda.handler events: - http: path: library/updated

我试图删除我在AWS API网关上手动创建的测试
GET
资源,但它删除了我在同一资源路径中的
POST
,现在当我
sls deploy
时,lambda资源不再出现在API网关的资源列表中:

functions:
  updateLibrary:
    environment:
      ...
    handler: updates/lambda.handler
    events:
      - http:
          path: library/updated
          method: post
          private: true

缺少
library/updated
POST
resource问题是由无服务器处理、跟踪和部署功能和资源的方式引起的。当您删除API网关方法时,您实际上手动更改了应用程序的状态,并且它基本上是不同步的


要解决此问题,请在serverless.yaml文件中注释掉手动删除的整个方法,然后运行sls deploy。完成后,取消对该方法的注释,并再次部署sls。这次它应该再次部署您的方法

⚠️ 使用此解决方案时要非常小心,因为在第一次注释资源时,API网关可能会被删除。根据我的经验,只有在没有其他资源的情况下才可能删除API网关,否则只删除方法,而不是整个网关。