

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

# HttpApi
<a name="sam-property-function-httpapi"></a>

HttpApi タイプのイベントソースを説明するオブジェクトです。

指定したパスとメソッドの OpenApi 定義が API に存在する場合、SAM は Lambda 統合とセキュリティセクション (該当する場合) を追加します。

指定したパスとメソッドの OpenApi 定義が API に存在しない場合は、SAM がこの定義を作成します。

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

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

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

```
  [ApiId](#sam-function-httpapi-apiid): String
  [Auth](#sam-function-httpapi-auth): HttpApiFunctionAuth
  [Method](#sam-function-httpapi-method): String
  [Path](#sam-function-httpapi-path): String
  [PayloadFormatVersion](#sam-function-httpapi-payloadformatversion): String
  [RouteSettings](#sam-function-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [TimeoutInMillis](#sam-function-httpapi-timeoutinmillis): Integer
```

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

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

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

 `Method`   <a name="sam-function-httpapi-method"></a>
この関数が呼び出される HTTP メソッドです。  
`Path` と `Method` が指定されていない場合は、SAM がデフォルトの API パスを作成します。このパスは、別のエンドポイントにマップされないリクエストをこの Lambda 関数にルーティングします。これらのデフォルトパスは、API ごとに 1 つしか存在できません。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Path`   <a name="sam-function-httpapi-path"></a>
この関数が呼び出される URI パスです。`/` で始まる必要があります。  
`Path` と `Method` が指定されていない場合は、SAM がデフォルトの API パスを作成します。このパスは、別のエンドポイントにマップされないリクエストをこの Lambda 関数にルーティングします。これらのデフォルトパスは、API ごとに 1 つしか存在できません。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `PayloadFormatVersion`   <a name="sam-function-httpapi-payloadformatversion"></a>
統合に送信されるペイロードの形式を指定します。  
注意: PayloadFormatVersion では OpenAPI 定義の変更に SAM が必要となるため、これが機能するのは `DefinitionBody` で Inline OpenApi が定義されている場合のみです。  
*タイプ*: 文字列  
*必須:* いいえ  
*デフォルト*: 2.0  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `RouteSettings`   <a name="sam-function-httpapi-routesettings"></a>
この HTTP API に対するルートごとのルート設定です。ルート設定の詳細については、*API Gateway デベロッパーガイド*の「[AWS::ApiGatewayV2::Stage RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html)」を参照してください。  
注: RouteSettings が HttpApi リソースとイベントソースの両方で指定されている場合、 はイベントソースプロパティを優先して AWS SAM マージします。  
*Type*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::ApiGatewayV2::Stage`リソースの `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)`プロパティに直接渡されます。

 `TimeoutInMillis`   <a name="sam-function-httpapi-timeoutinmillis"></a>
50～29,000 ミリ秒のカスタムタイムアウトです。  
注意: TimeoutInMillis では OpenAPI 定義の変更に SAM が必要となるため、これが機能するのは `DefinitionBody` で Inline OpenApi が定義されている場合のみです。  
*タイプ:* 整数  
*必須:* いいえ  
デフォルト: 5000  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

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

### デフォルトの HttpApi イベント
<a name="sam-property-function-httpapi--examples--default-httpapi-event"></a>

デフォルトパスを使用する HttpApi イベントです。この API 上にあるマップされていないパスとメソッドのすべてがこのエンドポイントにルーティングされます。

#### YAML
<a name="sam-property-function-httpapi--examples--default-httpapi-event--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
```

### HttpApi
<a name="sam-property-function-httpapi--examples--httpapi"></a>

特定のパスとメソッドを使用する HttpApi イベントです。

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

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /
      Method: GET
```

### HTTP API の認可
<a name="sam-property-function-httpapi--examples--httpapi-authorization"></a>

オーソライザーを使用する HttpApi イベントです。

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi-authorization--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /authenticated
      Method: GET
      Auth:
        Authorizer: OpenIdAuth
        AuthorizationScopes:
          - scope1
          - scope2
```

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

イベントレベルでの認可を設定します。

特定の API とパスとメソッドの認証を設定します

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

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

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

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

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

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
この API、パス、およびメソッドに適用する認可スコープです。  
ここにリストされているスコープは、`DefaultAuthorizer` によって適用されたスコープを上書きします (存在する場合)。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
特定の関数用の `Authorizer` です。IAM 認証を使用するには、 テンプレートの `Globals` セクションで `EnableIamAuthorizer` の `AWS_IAM` および `true` を指定します。  
API でグローバルオーソライザーを指定しており、特定の関数を公開する場合は、`Authorizer` を `NONE` に設定して上書きします。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のプロパティはありません。

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

### Function-Auth
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

関数レベルでの認可の指定

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### IAM 認可
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

イベントレベルで IAM 認可を指定します。イベントレベルで `AWS_IAM` 認可を使用するには、テンプレートの `Globals` セクションで `EnableIamAuthorizer` の `true` を指定する必要もあります。詳細については、「[AWS SAM テンプレートのグローバルセクション](sam-specification-template-anatomy-globals.md)」を参照してください。

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```