当前位置: 首页 > 知识库问答 >
问题:

swagger文件内容在aws apigateway中没有更新

邢运良
2023-03-14

我正在处理swagger文件,在aws apigateway中创建授权程序。但那一次我将在swagger文件中提到一些函数和api。但它在阿皮加泰韦并不起作用。一旦我删除了堆栈,它将影响APIgateway。如果有任何改变,则不会影响APIgateway。下面我提到了模板。yml文件和swagger文件。请任何人帮助解决这个问题。

template.yml档案

[2019-09-09]

转型:AWS::无服务器-2016-10-31

描述:TestApi

资源:

接口网关:

Type: AWS::Serverless::Api
Properties:
  StageName: Prod
  DefinitionUri: s3://devdeliforcemumbailambda/swagger-json-testapi.json

DriverDeleteF:

Type: AWS::Serverless::Function
Properties:
  FunctionName: driver_delete_fun
  Handler: index.handler
  Runtime: nodejs8.10
  CodeUri: build/authorizer.zip
  Events:
    GetApi:
      Type: Api
      Properties:
        Path: /driver
        Method: delete

招摇文件内容

{

“招摇”:“2.0”,

“信息”:{

"title": "demo"

},"主机":"rl0cg75uff.execute-api.ap-south-1.amazonaws.com",

“basePath”:“/Prod”,

“计划”:[

"https"

],

“路径”:{

"/driver": {

  "delete": {
    "produces": [
      "application/json"
    ],
    "responses": {
      "200": {
        "description": "200 response",
        "schema": {
          "$ref": "#/definitions/Empty"
        }
      }
    },
    "security": [
      {
        "CognitoAuth": []
       }
    ],
    "x-amazon-apigateway-integration": {
      "uri": "arn:aws:apigateway:ap-south-1:lambda:path/2015-03-31/functions/arn:aws:lambda:ap-south-1:539977196287:function:driver_delete_fun/invocations",
      "responses": {
        "default": {
          "statusCode": "200"
        }
      },
      "passthroughBehavio r": "when_no_match",
      "httpMethod": "POST",
      "contentHandling": "CONVERT_TO_TEXT",
      "type": "aws"
    }
  }
 },

}," securityDefinitions": {

"CognitoAuth": {
  "type": "apiKey",
  "name": "Authorization",
  "in": "header",
  "x-amazon-apigateway-authtype": "cognito_user_pools",
  "x-amazon-apigateway-authorizer": {
    "providerARNs": [
      "arn:aws:cognito-idp:ap-south-1:539977196287:userpool/ap-south-1_6j7axGXVm"
    ],
    "type": "cognito_user_pools"
  }
},
"lambdaAuth":{
  "type": "apiKey",
  "name": "Authorization",
  "in": "header",
  "x-amazon-apigateway-authtype": "custom",
  "x-amazon-apigateway-authorizer": { 
     "authorizerUri":  "arn:aws:apigateway:ap-south-1:lambda:path/2015-03-31/functions/arn:aws:lambda:ap-south-1:539977196287:function:my-service-dev-hello/invocations",
     "authorizerResultTtlInSeconds":1,
      "identitySource": "method.request.header.Authorization",
      "type": "request"
   }
}

}, “定义”: {

"Empty": {

  "type": "object",

  "title": "Empty Schema"
}

} }

共有1个答案

郭云
2023-03-14

当您在DefinitionUri中指定s3 uri时,Cloudformation不会比较S3对象的内容。相反,您可以指定一个相对本地路径,并让cloudformation cli为您上传它,就像它通常对函数代码所做的那样。然后,Cloudformation将在s3 object key中使用您的文件散列,因此每次它们包含更改时都有不同的DefinitionUri和CodeUri。

因此,与其拥有这些:

DefinitionUri: s3://devdeliforcemumbailambda/swagger-json-testapi.json
CodeUri: build/authorizer.zip

这样做:

DefinitionUri: ./swagger-json-testapi.json
CodeUri: ./authorizer-code-directory

我所写的适用于以下内容:(此处为最新文档)

AWS::ApiGateway::RestApi资源的BodyS3Location属性

AWS::Lambda::Function资源的代码属性

AWS::无服务器::函数资源的CodeUri属性

AWS::无服务器::Api资源的定义Uri属性

AWS::ElasticBeanstalk::ApplicationVersion 资源的 SourceBundle 属性

AWS::CloudFormation::Stack Resource 的 TemplateURL 属性

按如下方式部署堆栈:

aws cloudformation package --template-file template.yaml --s3-bucket devdeliforcemumbailambda --output-template-file packaged-template.yaml

aws cloudformation deploy --capabilities CAPABILITY_NAMED_IAM --stack-name test-swagger --template-file packaged-template.yaml
 类似资料:
  • 问题内容: 我想将内容中的某些目录压缩为zip文件 例如假设我有这个目录结构 现在我想将其压缩到哪个正在工作 当我解压缩它时,我得到了相同的结构…我想将 内容 压缩 到其中 ,当我解压缩它时,提取文件后,我得到的文件里面没有root文件夹dir1 我尝试使用此代码处理路径,但是它不起作用,我在这里错过了什么吗? 我试过了 或者也许GO中有更简单的方法来实现这一目标? 问题答案: 假设您正在按以下方

  • 我使用的是spring Boot2.1.6,Release and swagger 2.9.2,除了我想简化内容之外,一切都很好。 首先,我想删除标题下的: 而且,我希望和在访问时打开,直到我单击名称。

  • 问题内容: 我有诸如ffmpeg和gstreamer之类的外部程序在后台运行并写入日志文件。我想用我的Flask应用程序显示此日志的内容,以便用户可以像在终端中那样观看日志更新。 我试图指向日志文件,但是无法显示数据,或者浏览器告诉我我需要一个插件。 如何在HTML页面中嵌入和更新日志文件? 问题答案: 使用Flask视图可以永久不断地从文件中读取数据并流式传输响应。使用JavaScript从流中

  • 我在用带栏杆的大摇大摆的块。我其中一个enpoint我有一个图像上传。 在昂首阔步的网站上,它看起来还可以。如果我添加这个图像请求,它有一个标题,一切正常。当我使用其他params并将图像留空时,我得到了,标题是,根据这个答案https://stackoverflow.com/a/37932354我应该添加。然而,在文档中,这个选项只在一般的api设置中,它对我不起作用https://github

  • 我一直有一个严重的问题与我的PDF文件。我想从我的PDF中提取所有的文本。提取后,我有所有的字节码。 我怎样才能从中提取文本呢?

  • 在我的项目中,我有固定的页眉和页脚,以及可变的内容。所以我已经将ContentControl放在了我的窗口中。 看起来是这样的... 我创建了两个名为page1、Page2用户控件。第1页有一个按钮,当我单击该按钮时,ContentControl有显示Page2。 所以我用button1_Click编写了下面的代码 但是在点击按钮的时候ContentControl没有改变我能做什么呢? 我的pag