

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Api
<a name="sam-property-function-api"></a>

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

[AWS::Serverless::Api](sam-resource-api.md) が定義されていない場合、関数の入出力は HTTP リクエストと HTTP レスポンスの表現です。

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

## 構文
<a name="sam-property-function-api-syntax"></a>

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

### YAML
<a name="sam-property-function-api-syntax.yaml"></a>

```
  [Auth](#sam-function-api-auth): {{ApiFunctionAuth}}
  [Method](#sam-function-api-method): {{String}}
  [Path](#sam-function-api-path): {{String}}
  [RequestModel](#sam-function-api-requestmodel): {{RequestModel}}
  [RequestParameters](#sam-function-api-requestparameters): {{List of [ String | RequestParameter ]}}
  [RestApiId](#sam-function-api-restapiid): {{String}}
  [ResponseTransferMode](#sam-function-api-responsetransfermode): {{String}}
  TimeoutInMillis: {{Integer}}
```

## プロパティ
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
この特定の Api とパスとメソッドの認証設定です。  
`DefaultAuthorizer` が指定されていない場合に個々のパス上にある API の `DefaultAuthorizer` 設定の認証設定を上書きする、またはデフォルトの `ApiKeyRequired` 設定を上書きするために役立ちます。  
*タイプ*: [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Method`   <a name="sam-function-api-method"></a>
この関数が呼び出される HTTP メソッドです。オプションには `DELETE`、`GET`、`HEAD`、`OPTIONS`、`PATCH`、`POST`、`PUT`、および `ANY` があります。詳細については、「*API Gateway デベロッパーガイド*」の「[HTTP メソッドをセットアップする](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method)」を参照してください。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Path`   <a name="sam-function-api-path"></a>
この関数が呼び出される URI パスです。`/` で始まる必要があります。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
この特定の Api とパスとメソッドに使用するリクエストモデルです。これは、[AWS::Serverless::Api](sam-resource-api.md) リソースの `Models` セクションに指定されているモデルの名前を参照する必要があります。  
*タイプ*: [RequestModel](sam-property-function-requestmodel.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のプロパティはありません。

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
この特定の API、パス、メソッドのリクエストパラメータ設定です。すべてのパラメータ名は `method.request` で始まり `method.request.header`、`method.request.querystring`、または `method.request.path` に制限する必要があります。  
リストには、パラメータ名の文字列と [RequestParameter](sam-property-function-requestparameter.md) オブジェクトの両方を含めることができます。文字列の場合、`Required` および `Caching` プロパティはデフォルトで `false` になります。  
*タイプ*: [ String \| [RequestParameter](sam-property-function-requestparameter.md) ] のリスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
RestApi リソースの識別子です。これには、指定されたパスとメソッドを持つオペレーションが含まれている必要があります。通常、このテンプレートで定義される [AWS::Serverless::Api](sam-resource-api.md) リソースを参照するように設定されます。  
このプロパティを定義しない場合、 は生成された`OpenApi`ドキュメントを使用してデフォルトの[AWS::Serverless::Api](sam-resource-api.md)リソース AWS SAM を作成します。そのリソースには、`RestApiId` を指定しない同じテンプレート内の `Api` イベントによって定義されるすべてのパスとメソッドの和集合が含まれます。  
これは、別のテンプレートで定義された [AWS::Serverless::Api](sam-resource-api.md) リソースを参照できません。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Lambda 関数統合のレスポンス転送モード。に設定する`RESPONSE_STREAM`と、API Gateway を介した Lambda レスポンスのストリーミングが有効になり、関数はレスポンスをクライアントにストリーミングできます。に設定すると`RESPONSE_STREAM`、API Gateway は Lambda InvokeWithResponseStreaming API を使用します。  
*タイプ*: 文字列  
*必須:* いいえ  
*有効な値:* `BUFFERED` \| `RESPONSE_STREAM`  
*CloudFormation 互換性*: このプロパティは、 の [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode)プロパティに直接渡されます`AWS::ApiGateway::Method Integration`。

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
50～29,000 ミリ秒のカスタムタイムアウトです。  
このプロパティを指定すると、 は OpenAPI 定義 AWS SAM を変更します。OpenAPI の定義は、`DefinitionBody` プロパティを使用してインラインで指定する必要があります。
*タイプ:* 整数  
*必須:* いいえ  
*デフォルト* = 29,000 ミリ秒 (29 秒)  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、同等の CloudFormation ものはありません。

## 例
<a name="sam-property-function-api--examples"></a>

### 基本的な の例
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```