Api - AWS Serverless Application Model

Api

Api イベントソースタイプを説明するオブジェクトです。AWS::Serverless::Api リソースが定義されている場合、パスとメソッドの値は、API の OpenApi 定義にあるオペレーションに対応している必要があります。

AWS::Serverless::Api が定義されていない場合、関数の入出力は HTTP リクエストと HTTP レスポンスの表現です。

例えば、JavaScript API を使用すると、statusCode および body キーを持つオブジェクトを返すことによって、レスポンスのステータスコードと本文を制御できます。

構文

AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、以下の構文を使用します。

プロパティ

Auth

この特定の Api とパスとメソッドの認証設定です。

DefaultAuthorizer が指定されていない場合に個々のパス上にある API の DefaultAuthorizer 設定の認証設定を上書きする、またはデフォルトの ApiKeyRequired 設定を上書きするために役立ちます。

タイプ: ApiFunctionAuth

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

Method

この関数が呼び出される HTTP メソッドです。

型: 文字列

必須: はい

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

Path

この関数が呼び出される URI パスです。/ で始まる必要があります。

型: 文字列

必須: はい

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

RequestModel

この特定の Api とパスとメソッドに使用するリクエストモデルです。これは、AWS::Serverless::Api リソースの Models セクションに指定されているモデルの名前を参照する必要があります。

タイプ: RequestModel

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

RequestParameters

この特定の API、パス、メソッドのリクエストパラメータ設定です。すべてのパラメータ名は method.request で始まり method.request.headermethod.request.querystring、または method.request.path に制限する必要があります。

パラメータが文字列であり、Function Request Parameter Object ではない場合は、RequiredCaching がデフォルトで False になります。

タイプ: 文字列 | RequestParameter

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

RestApiId

RestApi リソースの識別子です。これには、指定されたパスとメソッドを持つオペレーションが含まれている必要があります。通常、このテンプレートで定義される AWS::Serverless::Api リソースを参照するように設定されます。

このプロパティを定義しない場合は、AWS SAM が生成された OpenApi ドキュメントを使用してデフォルトの AWS::Serverless::Api リソースを作成します。そのリソースには、RestApiId を指定しない同じテンプレート内の Api イベントによって定義されるすべてのパスとメソッドの和集合が含まれます。

これは、別のテンプレートで定義された AWS::Serverless::Api リソースを参照できません。

型: 文字列

必須: いいえ

AWS CloudFormation との互換性: このプロパティは AWS SAM に固有であり、AWS CloudFormation に同等のものはありません。

ApiEvent

Api イベントの例です。

YAML

Events: ApiEvent: Type: Api Properties: Path: /path Method: get RequestParameters: - method.request.header.Authorization