2

API Gateway の背後にいくつかの Lambda を持つ SAM アプリを定義しました」

  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: !Ref EnvType
      Auth:
        DefaultAuthorizer: LambdaTokenAuthorizer
        Authorizers:
          LambdaTokenAuthorizer:
            FunctionArn: !GetAtt AuthorizerLambda.Arn
  MyFunction:
    Type: 'AWS::Serverless::Function'
...
      Events:
        MyEvent:
          Type: Api
          Properties:
            RestApiId: !Ref MyApi
            Path: "/MyResource/{proxy+}"
            Method: post

明らかに、API Gateway は次のようなプロキシされたリソースについてあまり知りません。

  • プロキシされたパス
  • リクエストモデル
  • 応答モデル

API Gateway ステージから生成されたドキュメントには、次の内容が反映されています。

swagger: "2.0"
info:
  version: "1.0"
  title: "xxx-dev"
host: "xxx.execute-api.us-west-2.amazonaws.com"
basePath: "/dev"
schemes:
- "https"
paths:
  /MyResource/{proxy+}:
    post:
      responses: {}
      security:
      - LambdaTokenAuthorizer: []
securityDefinitions:
  LambdaTokenAuthorizer:
    type: "apiKey"
    name: "Authorization"
    in: "header"
    x-amazon-apigateway-authtype: "custom"

不足しているビット (プロキシ パス、応答モデル、要求モデル) を API Gateway に供給する方法はありますか? 最終的には、クライアント コードを生成したり、いくつかの統合テストを許可したりするのに十分なドキュメントが必要です。ここで同様の質問 -> Aws ラムダ プロキシ Swagger テンプレートの統合

4

0 に答える 0