1

Swagger/OpenAPIを使用してAWS Api Gatewayインフラストラクチャを定義しようとしています。これまでのところすべてが機能していましたが、エンドポイントのAPIキーが不要になるという問題があります。闊歩ファイルが正常に処理されCloudFormationテンプレート内でリンクされたAWS ApiGatewayエンドポイント(Swaggerインポート)に必要なAPIキーを設定

--- 
swagger: 2.0 
basePath: /dev 
info: 
    title: My API 
    description: Proof of concept 
schemes: 
    - https 
securityDefinitions: 
    api_key: 
    type: apiKey 
    name: X-Api-Key 
    in: header 

paths: 
    /example-path: 
    options: 
     consumes: 
     - application/json 
     produces: 
     - application/json 
     x-amazon-apigateway-integration: 
     type: mock 
     requestTemplates: 
      application/json: | 
      { 
       "statusCode" : 200 
      } 
     responses: 
      "default": 
      statusCode: "200" 
      responseParameters: 
       method.response.header.Access-Control-Allow-Methods: "'GET,HEAD,OPTIONS'" 
       method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'" 
       method.response.header.Access-Control-Allow-Origin: "'*'" 
      responseTemplates: 
       application/json: | 
       {} 
    responses: 
     200: 
     description: Default response for CORS method 
     headers: 
      Access-Control-Allow-Headers: 
      type: "string" 
      Access-Control-Allow-Methods: 
      type: "string" 
      Access-Control-Allow-Origin: 
      type: "string"   

    get: 
     security: 
     - api_key: [] 
     x-amazon-apigateway-integration: 

     # Further definition of the endpoint, calling Lambda etc... 

マイ闊歩ファイルには、この(短縮)のように見えます。しかし、AWS Web Consoleでエンドポイントを開くと、APIキーが必要ですのフラグはまだfalseです。

提案がありますか?ありがとう。

答えて

1

解決策が見つかりました:APIキーの名前はx-api-key(すべて小文字)です。

インポート時にこの設定が認識されるようです。

+0

"このソースは、選択したAPIキーをx-api-keyヘッダーに渡して、APIメソッドを呼び出すことができるようになりました"という文章です。ここのawsドキュメントに表示されています:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html –

関連する問題