

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS::Serverless::HttpApi
<a name="sam-resource-httpapi"></a>

Membuat API HTTP Amazon API Gateway, yang memungkinkan Anda membuat RESTful APIs dengan latensi lebih rendah dan biaya lebih rendah daripada REST APIs. Untuk informasi selengkapnya, lihat [Bekerja dengan HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) di *Panduan Pengembang API Gateway*.

Kami menyarankan Anda menggunakan CloudFormation kait atau kebijakan IAM untuk memverifikasi bahwa sumber daya API Gateway memiliki otorisasi yang melekat padanya untuk mengontrol akses ke sumber daya tersebut.

Untuk informasi selengkapnya tentang penggunaan CloudFormation kait, lihat [Mendaftarkan kait](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) di *panduan pengguna CloudFormation CLI* dan repositori. [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub 

Untuk informasi selengkapnya tentang penggunaan kebijakan IAM, lihat [Mengharuskan rute API memiliki otorisasi dalam Panduan](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) *Pengembang API Gateway*.

**catatan**  
Ketika Anda menyebarkan ke AWS CloudFormation, AWS SAM mengubah AWS SAM sumber daya Anda menjadi CloudFormation sumber daya. Untuk informasi selengkapnya, lihat [CloudFormation Sumber daya yang dihasilkan untuk AWS SAM](sam-specification-generated-resources.md).

## Sintaks
<a name="sam-resource-httpapi-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
Type: AWS::Serverless::HttpApi
Properties:
  [AccessLogSettings](#sam-httpapi-accesslogsettings): [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)
  [Auth](#sam-httpapi-auth): HttpApiAuth
  [CorsConfiguration](#sam-httpapi-corsconfiguration): String | HttpApiCorsConfiguration
  [DefaultRouteSettings](#sam-httpapi-defaultroutesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [DefinitionBody](#sam-httpapi-definitionbody): JSON
  [DefinitionUri](#sam-httpapi-definitionuri): String | HttpApiDefinition
  [Description](#sam-httpapi-description): String
  [DisableExecuteApiEndpoint](#sam-httpapi-disableexecuteapiendpoint): Boolean
  [Domain](#sam-httpapi-domain): HttpApiDomainConfiguration
  [FailOnWarnings](#sam-httpapi-failonwarnings): Boolean
  Name: String
  PropagateTags: Boolean
  [RouteSettings](#sam-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [StageName](#sam-httpapi-stagename): String
  [StageVariables](#sam-httpapi-stagevariables): [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)
  [Tags](#sam-httpapi-tags): Map
```

## Sifat-sifat
<a name="sam-resource-httpapi-properties"></a>

 `AccessLogSettings`   <a name="sam-httpapi-accesslogsettings"></a>
Pengaturan untuk log akses dalam tahap.  
*Jenis*: [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)` properti `AWS::ApiGatewayV2::Stage` sumber daya.

 `Auth`   <a name="sam-httpapi-auth"></a>
Mengonfigurasikan otorisasi untuk mengendalikan akses ke API HTTP API Gateway Anda.  
Untuk informasi selengkapnya, lihat [Mengontrol akses ke HTTP APIs dengan otorisasi JWT di Panduan Pengembang](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) *API Gateway*.  
*Jenis*: [HttpApiAuth](sam-property-httpapi-httpapiauth.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `CorsConfiguration`   <a name="sam-httpapi-corsconfiguration"></a>
Mengelola berbagi sumber daya lintas asal (CORS) untuk semua HTTP API Gateway Anda. APIs Tentukan domain untuk diizinkan sebagai string, atau menentukan objek `HttpApiCorsConfiguration`. Perhatikan bahwa CORS AWS SAM perlu memodifikasi definisi OpenAPI Anda, jadi CORS hanya berfungsi jika properti ditentukan`DefinitionBody`.  
Untuk informasi selengkapnya, lihat [Mengonfigurasi CORS untuk API HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) di *Panduan Developer API Gateway*.  
Jika `CorsConfiguration` disetel baik dalam definisi OpenAPI maupun di tingkat properti, maka AWS SAM gabungkan kedua sumber konfigurasi dengan properti yang diutamakan. Jika properti ini disetel ke`true`, maka semua asal diizinkan.
*Jenis*: String \$1 [HttpApiCorsConfiguration](sam-property-httpapi-httpapicorsconfiguration.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `DefaultRouteSettings`   <a name="sam-httpapi-defaultroutesettings"></a>
Pengaturan rute default untuk API HTTP ini. Pengaturan ini berlaku untuk semua rute kecuali dibatalkan oleh properti `RouteSettings` untuk rute tertentu.  
*Jenis*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` properti `AWS::ApiGatewayV2::Stage` sumber daya.

 `DefinitionBody`   <a name="sam-httpapi-definitionbody"></a>
Ketentuan OpenAPI yang menjelaskan API HTTP Anda. Jika Anda tidak menentukan a `DefinitionUri` atau a `DefinitionBody` AWS SAM , `DefinitionBody` buat untuk Anda berdasarkan konfigurasi template Anda.  
*Tipe*: JSON  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini mirip dengan `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` properti `AWS::ApiGatewayV2::Api` sumber daya. Jika properti tertentu disediakan, AWS SAM dapat memasukkan konten ke dalam atau memodifikasi `DefinitionBody` sebelum diteruskan ke CloudFormation. Properti termasuk `Auth` dan `EventSource` tipe HttpApi untuk `AWS::Serverless::Function` sumber daya yang sesuai.

 `DefinitionUri`   <a name="sam-httpapi-definitionuri"></a>
URI Amazon Simple Storage Service (Amazon S3), jalur file lokal, atau objek lokasi ketentuan OpenAPI yang menentukan API HTTP. Objek Amazon S3 yang merujuk properti ini harus menjadi file ketentuan OpenAPI yang valid. Jika Anda tidak menentukan `DefinitionUri` atau `DefinitionBody` ditentukan, buat AWS SAM `DefinitionBody` untuk Anda berdasarkan konfigurasi template Anda.  
Jika Anda menyediakan jalur file lokal, templat harus melalui alur kerja yang mencakup perintah `sam deploy` atau `sam package` untuk ketentuan agar berubah dengan benar.  
Fungsi intrinsik tidak didukung dalam file OpenApi definisi eksternal yang Anda referensikan. `DefinitionUri` Untuk mengimpor OpenApi definisi ke dalam template, gunakan `DefinitionBody` properti dengan [transformasi Sertakan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html).  
*Jenis*: String \$1 [HttpApiDefinition](sam-property-httpapi-httpapidefinition.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini mirip dengan `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location)` properti `AWS::ApiGatewayV2::Api` sumber daya. Properti Amazon S3 nest diberi nama berbeda.

 `Description`   <a name="sam-httpapi-description"></a>
Deskripsi sumber daya HTTP API.  
Saat Anda menentukan`Description`, AWS SAM akan memodifikasi OpenApi definisi sumber daya HTTP API dengan menyetel `description` bidang. Skenario berikut akan menghasilkan kesalahan:  
+ `DefinitionBody`Properti ditentukan dengan `description` bidang yang disetel dalam definisi Open API — Ini menghasilkan konflik `description` bidang yang tidak AWS SAM akan diselesaikan.
+ `DefinitionUri`Properti ditentukan — tidak AWS SAM akan mengubah definisi Open API yang diambil dari Amazon S3.
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `DisableExecuteApiEndpoint`   <a name="sam-httpapi-disableexecuteapiendpoint"></a>
Menentukan apakah klien dapat memanggil API HTTP Anda dengan menggunakan `https://{api_id}.execute-api.{region}.amazonaws.com` titik akhir `execute-api` default. Secara default, klien dapat memanggil API Anda dengan titik akhir default. Untuk meminta agar klien hanya menggunakan nama domain kustom untuk memanggil API Anda, nonaktifkan titik akhir default.  
Untuk menggunakan properti ini, Anda harus menentukan `DefinitionBody` properti alih-alih `DefinitionUri` properti atau menentukan `x-amazon-apigateway-endpoint-configuration` dengan `disableExecuteApiEndpoint` definisi OpenAPI Anda.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini mirip dengan `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint)` properti `AWS::ApiGatewayV2::Api` sumber daya. Itu diteruskan langsung ke `disableExecuteApiEndpoint` properti `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)` ekstensi, yang akan ditambahkan ke ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` properti `AWS::ApiGatewayV2::Api` sumber daya.

 `Domain`   <a name="sam-httpapi-domain"></a>
Mengonfigurasi domain kustom untuk API HTTP API Gateway ini.  
*Jenis*: [HttpApiDomainConfiguration](sam-property-httpapi-httpapidomainconfiguration.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `FailOnWarnings`   <a name="sam-httpapi-failonwarnings"></a>
Menentukan apakah akan memutar kembali pembuatan API HTTP (`true`) atau tidak (`false`) saat peringatan ditemui. Nilai default-nya adalah `false`.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings)` properti `AWS::ApiGatewayV2::Api` sumber daya.

`Name`  <a name="sam-httpapi-name"></a>
Nama sumber daya HTTP API.  
Saat Anda menentukan`Name`, AWS SAM akan memodifikasi definisi OpenAPI sumber daya HTTP API dengan menyetel bidang. `title` Skenario berikut akan menghasilkan kesalahan:  
+ `DefinitionBody`Properti ditentukan dengan `title` bidang yang disetel dalam definisi Open API — Ini menghasilkan konflik `title` bidang yang tidak AWS SAM akan diselesaikan.
+ `DefinitionUri`Properti ditentukan — tidak AWS SAM akan mengubah definisi Open API yang diambil dari Amazon S3.
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

`PropagateTags`  <a name="sam-httpapi-propagatetags"></a>
Tunjukkan apakah akan meneruskan tag dari `Tags` properti ke sumber daya yang Anda [AWS::Serverless::HttpApi](sam-specification-generated-resources-httpapi.md) hasilkan atau tidak. Tentukan `True` untuk menyebarkan tag di sumber daya yang Anda hasilkan.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*Default*: `False`  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `RouteSettings`   <a name="sam-httpapi-routesettings"></a>
Pengaturan rute, per rute, untuk API HTTP ini. Untuk informasi selengkapnya, lihat [Bekerja dengan rute untuk HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) di *Panduan Pengembang API Gateway*.  
*Jenis*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` properti `AWS::ApiGatewayV2::Stage` sumber daya.

 `StageName`   <a name="sam-httpapi-stagename"></a>
Nama tahap API. Jika tidak ada nama yang ditentukan, AWS SAM gunakan `$default` stage dari API Gateway.  
*Tipe*: String  
*Wajib*: Tidak  
*Default*: \$1default  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename)` properti `AWS::ApiGatewayV2::Stage` sumber daya.

 `StageVariables`   <a name="sam-httpapi-stagevariables"></a>
Sebuah peta yang menentukan variabel panggung. Nama variabel dapat memiliki karakter alfanumerik dan garis bawah. Nilai-nilai harus sesuai dengan [A-Za-z0-9-.\$1\$1:/? \$1&=,] \$1.  
*Tipe*: [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[StageVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)` properti `AWS::ApiGatewayV2::Stage` sumber daya.

 `Tags`   <a name="sam-httpapi-tags"></a>
Sebuah peta (string ke string) yang menentukan tanda untuk ditambahkan ke tahap API Gateway ini. Kunci dapat berupa 1 hingga 128 karakter Unicode dan tidak dapat menyertakan awalan`aws:`. Anda dapat menggunakan salah satu karakter berikut: set huruf Unicode, angka, spasi putih, `_`, `.`, `/`, `=`, `+`, dan `-`. Nilai dapat berupa 1 hingga 256 karakter Unicode panjangnya.  
*Tipe*: Peta  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.  
*Catatan tambahan*: `Tags` Properti AWS SAM harus mengubah definisi OpenAPI Anda, sehingga tag ditambahkan hanya jika `DefinitionBody` properti ditentukan—tidak ada tag yang ditambahkan jika properti ditentukan. `DefinitionUri` AWS SAM secara otomatis menambahkan `httpapi:createdBy:SAM` tag. Tanda juga ditambahkan ke sumber daya `AWS::ApiGatewayV2::Stage` dan sumber daya `AWS::ApiGatewayV2::DomainName` (jika `DomainName` ditentukan).

## Nilai Pengembalian
<a name="sam-resource-httpapi-return-values"></a>

### Ref
<a name="sam-resource-httpapi-return-values-ref"></a>

Bila Anda melewati ID logis dari sumber daya ini ke fungsi `Ref` intrinsik, `Ref` mengembalikan ID API dari sumber daya `AWS::ApiGatewayV2::Api` utama, misalnya, `a1bcdef2gh`.

Untuk informasi lebih lanjut tentang penggunaan fungsi `Ref`, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) di *Panduan Pengguna AWS CloudFormation *. 

## Contoh
<a name="sam-resource-httpapi--examples"></a>

### Sederhana HttpApi
<a name="sam-resource-httpapi--examples--simple-httpapi"></a>

Contoh berikut menunjukkan minimum yang diperlukan untuk mengatur titik akhir HTTP API yang didukung oleh fungsi Lambda. Contoh ini menggunakan HTTP API default yang AWS SAM membuat.

#### YAML
<a name="sam-resource-httpapi--examples--simple-httpapi--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS SAM template with a simple API definition
Resources:
  ApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Runtime: python3.7
Transform: AWS::Serverless-2016-10-31
```

### HttpApi dengan Auth
<a name="sam-resource-httpapi--examples--httpapi-with-auth"></a>

Contoh berikut menunjukkan cara mengatur otorisasi di titik akhir HTTP API.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-auth--yaml"></a>

```
Properties:
  FailOnWarnings: true
  Auth:
    DefaultAuthorizer: OAuth2
    Authorizers:
      OAuth2:
        AuthorizationScopes:
          - scope4
        JwtConfiguration:
          issuer: "https://www.example.com/v1/connect/oauth2"
          audience:
            - MyApi
        IdentitySource: "$request.querystring.param"
```

### HttpApi dengan definisi OpenAPI
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition"></a>

Contoh berikut menunjukkan cara menambahkan ketentuan OpenAPI ke templat.

Perhatikan bahwa AWS SAM mengisi integrasi Lambda yang hilang HttpApi untuk peristiwa yang mereferensikan API HTTP ini. AWS SAM juga menambahkan jalur yang hilang yang menjadi referensi HttpApi acara.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition--yaml"></a>

```
Properties:
  FailOnWarnings: true
  DefinitionBody:
    info:
      version: '1.0'
      title:
        Ref: AWS::StackName
    paths:
      "/":
        get:
          security:
          - OpenIdAuth:
            - scope1
            - scope2
          responses: {}
    openapi: 3.0.1
    securitySchemes:
      OpenIdAuth:
        type: openIdConnect
        x-amazon-apigateway-authorizer:
          identitySource: "$request.querystring.param"
          type: jwt
          jwtConfiguration:
            audience:
            - MyApi
            issuer: https://www.example.com/v1/connect/oidc
          openIdConnectUrl: https://www.example.com/v1/connect/oidc/.well-known/openid-configuration
```

### HttpApi dengan pengaturan konfigurasi
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings"></a>

Contoh berikut menunjukkan cara menambahkan API HTTP dan konfigurasi persiapan ke templat.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Parameters:
  StageName:
    Type: String
    Default: Prod
    
Resources:
  HttpApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
          def handler(event, context):
              import json
              return {
                  "statusCode": 200,
                  "body": json.dumps(event),
              }
      Handler: index.handler
      Runtime: python3.7
      Events:
        ExplicitApi: # warning: creates a public endpoint
          Type: HttpApi
          Properties:
            ApiId: !Ref HttpApi
            Method: GET
            Path: /path
            TimeoutInMillis: 15000
            PayloadFormatVersion: "2.0"
            RouteSettings:
              ThrottlingBurstLimit: 600

  HttpApi:
    Type: AWS::Serverless::HttpApi
    Properties:
      StageName: !Ref StageName
      Tags:
        Tag: Value
      AccessLogSettings:
        DestinationArn: !GetAtt AccessLogs.Arn
        Format: $context.requestId
      DefaultRouteSettings:
        ThrottlingBurstLimit: 200
      RouteSettings:
        "GET /path":
          ThrottlingBurstLimit: 500 # overridden in HttpApi Event
      StageVariables:
        StageVar: Value
      FailOnWarnings: true

  AccessLogs:
    Type: AWS::Logs::LogGroup

Outputs:
  HttpApiUrl:
    Description: URL of your API endpoint
    Value:
      Fn::Sub: 'https://${HttpApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/${StageName}/'
  HttpApiId:
    Description: Api id of HttpApi
    Value:
      Ref: HttpApi
```

# HttpApiAuth
<a name="sam-property-httpapi-httpapiauth"></a>

Mengonfigurasi otorisasi untuk mengendalikan akses ke API HTTP dari Amazon API Gateway Anda.

Untuk informasi selengkapnya tentang mengonfigurasi akses ke HTTP APIs, lihat [Mengontrol dan mengelola akses ke API HTTP di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) di *Panduan Pengembang API Gateway*.

## Sintaksis
<a name="sam-property-httpapi-httpapiauth-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [Authorizers](#sam-httpapi-httpapiauth-authorizers): OAuth2Authorizer | LambdaAuthorizer
  [DefaultAuthorizer](#sam-httpapi-httpapiauth-defaultauthorizer): String
  [EnableIamAuthorizer](#sam-httpapi-httpapiauth-enableiamauthorizer): Boolean
```

## Sifat-sifat
<a name="sam-property-httpapi-httpapiauth-properties"></a>

 `Authorizers`   <a name="sam-httpapi-httpapiauth-authorizers"></a>
Pengotorisasi yang digunakan untuk mengendalikan akses ke API dari API Gateway Anda.  
*Jenis*: [OAuth2Authorizer \$1 [LambdaAuthorizer](sam-property-httpapi-lambdaauthorizer.md)](sam-property-httpapi-oauth2authorizer.md)  
*Wajib*: Tidak  
*Default*: Tidak ada  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.  
*Catatan tambahan*: AWS SAM menambahkan otorisasi ke definisi OpenAPI.

 `DefaultAuthorizer`   <a name="sam-httpapi-httpapiauth-defaultauthorizer"></a>
Tentukan otorisasi default yang digunakan untuk mengotorisasi panggilan API ke API dari API Gateway Anda. Anda dapat menentukan `AWS_IAM` sebagai otorisasi default jika `EnableIamAuthorizer` diatur ke`true`. Jika tidak, tentukan otorisasi yang telah Anda tentukan. `Authorizers`  
*Tipe*: String  
*Wajib*: Tidak  
*Default*: Tidak ada  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `EnableIamAuthorizer`   <a name="sam-httpapi-httpapiauth-enableiamauthorizer"></a>
Tentukan apakah akan menggunakan otorisasi IAM untuk rute API.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-httpapi-httpapiauth--examples"></a>

### OAuth 2.0 Pengotorisasi
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer"></a>

OAuth 2.0 contoh otorisasi

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
        - scope2
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

### Pengotorisasi IAM
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer"></a>

Contoh otorisasi IAM

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer--yaml"></a>

```
Auth:
  EnableIamAuthorizer: true
  DefaultAuthorizer: AWS_IAM
```

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

Konfigurasikan otorisasi Lambda untuk mengontrol akses ke API HTTP Amazon API Gateway Anda dengan suatu fungsi. AWS Lambda 

Untuk informasi dan contoh selengkapnya, lihat [Bekerja dengan AWS Lambda otorisasi untuk HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) di *Panduan Pengembang API Gateway*.

## Sintaksis
<a name="sam-property-httpapi-lambdaauthorizer-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## Sifat-sifat
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
Menentukan format muatan yang dikirim ke pemberi otorisasi Lambda API HTTP. Diperlukan untuk Otorisasi Lambda API HTTP.  
Ini dilewatkan ke bagian `authorizerPayloadFormatVersion` dari `x-amazon-apigateway-authorizer` di bagian `securitySchemes` dari ketentuan OpenAPI.  
*Nilai yang valid*: `1.0` atau `2.0`  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
Secara default, sumber daya HTTP API tidak diberikan izin untuk memanggil otorisasi Lambda. Tentukan properti ini `true` untuk secara otomatis membuat izin antara sumber daya HTTP API dan otorisasi Lambda Anda.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*Nilai default*: `false`  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Menentukan apakah pemberi otorisasi Lambda mengembalikan respons dalam format sederhana. Secara default, otorisasi Lambda harus mengembalikan kebijakan AWS Identity and Access Management (IAM). Jika diaktifkan, Otorisasi Lambda dapat mengembalikan nilai boolean bukan kebijakan IAM.  
Ini diteruskan ke bagian `enableSimpleResponses` dari `x-amazon-apigateway-authorizer` di bagian `securitySchemes` dari ketentuan OpenAPI.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
Amazon Resource Name (ARN) dari fungsi Lambda yang menyediakan otorisasi untuk API.  
Ini dilewatkan ke bagian `authorizerUri` dari `x-amazon-apigateway-authorizer` di bagian `securitySchemes` dari ketentuan OpenAPI.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
ARN IAM role yang memiliki kredensial yang diperlukan untuk API Gateway untuk memanggil fungsi otorisasi. Tentukan parameter ini jika kebijakan berbasis sumber daya fungsi Anda tidak memberikan izin `lambda:InvokeFunction` API Gateway.  
Ini diteruskan ke bagian `authorizerCredentials` dari `x-amazon-apigateway-authorizer` di bagian `securitySchemes` dari ketentuan OpenAPI.  
Untuk informasi lebih lanjut, lihat [Buat otorisasi Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) di *Panduan Developer API Gateway*.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
Menentukan `IdentitySource` dalam permintaan masuk untuk otorisasi.  
Ini diteruskan ke bagian `identitySource` dari `x-amazon-apigateway-authorizer` di bagian `securitySchemes` dari ketentuan OpenAPI.  
*Jenis*: [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer contoh

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

```
Auth:
  Authorizers:
    MyLambdaAuthorizer:
      AuthorizerPayloadFormatVersion: 2.0
      FunctionArn:
        Fn::GetAtt:
          - MyAuthFunction
          - Arn
      FunctionInvokeRole:
        Fn::GetAtt:
          - LambdaAuthInvokeRole
          - Arn
      Identity:
        Headers:
          - Authorization
```

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

Properti penggunaan dapat digunakan untuk menentukan permintaan masuk untuk otorisasi Lambda. IdentitySource Untuk informasi selengkapnya tentang sumber identitas, lihat [Sumber identitas](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources) di *Panduan Developer API Gateway*.

## Sintaksis
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [Context](#sam-httpapi-lambdaauthorizationidentity-context): List
  [Headers](#sam-httpapi-lambdaauthorizationidentity-headers): List
  [QueryStrings](#sam-httpapi-lambdaauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-httpapi-lambdaauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-httpapi-lambdaauthorizationidentity-stagevariables): List
```

## Sifat-sifat
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

 `Context`   <a name="sam-httpapi-lambdaauthorizationidentity-context"></a>
Mengonversi string konteks yang diberikan ke daftar ekspresi pemetaan dalam format `$context.contextString`.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Headers`   <a name="sam-httpapi-lambdaauthorizationidentity-headers"></a>
Mengonversi header ke daftar ekspresi pemetaan dalam format `$request.header.name`.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `QueryStrings`   <a name="sam-httpapi-lambdaauthorizationidentity-querystrings"></a>
Mengonversi string kueri yang diberikan ke daftar ekspresi pemetaan dalam format `$request.querystring.queryString`.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `ReauthorizeEvery`   <a name="sam-httpapi-lambdaauthorizationidentity-reauthorizeevery"></a>
Periode time-to-live (TTL), dalam hitungan detik, yang menentukan berapa lama API Gateway menyimpan hasil otorisasi. Jika Anda menentukan nilai lebih dari 0, API Gateway akan menyimpan respons pengirim. Nilai maksimumnya adalah 3600, atau 1 jam.  
*Tipe*: Integer  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `StageVariables`   <a name="sam-httpapi-lambdaauthorizationidentity-stagevariables"></a>
Mengonversi variabel persiapan yang diberikan ke daftar ekspresi pemetaan dalam format `$stageVariables.stageVariable`.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Contoh identitas permintaan Lambda

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

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# OAuth2Authorizer
<a name="sam-property-httpapi-oauth2authorizer"></a>

Definisi untuk otorisasi OAuth 2.0, juga dikenal sebagai otorisasi JSON Web Token (JWT).

Untuk informasi selengkapnya, lihat [Mengontrol akses ke HTTP APIs dengan otorisasi JWT di Panduan Pengembang](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) *API Gateway*.

## Sintaksis
<a name="sam-property-httpapi-oauth2authorizer-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [AuthorizationScopes](#sam-httpapi-oauth2authorizer-authorizationscopes): List
  [IdentitySource](#sam-httpapi-oauth2authorizer-identitysource): String
  [JwtConfiguration](#sam-httpapi-oauth2authorizer-jwtconfiguration): Map
```

## Sifat-sifat
<a name="sam-property-httpapi-oauth2authorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-httpapi-oauth2authorizer-authorizationscopes"></a>
Daftar cakupan otorisasi untuk pemberi kuasa ini.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `IdentitySource`   <a name="sam-httpapi-oauth2authorizer-identitysource"></a>
Ekspresi sumber identitas untuk otorisasi ini.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `JwtConfiguration`   <a name="sam-httpapi-oauth2authorizer-jwtconfiguration"></a>
Konfigurasi JWT untuk otorisasi ini.  
Ini diteruskan ke bagian `jwtConfiguration` dari `x-amazon-apigateway-authorizer` di bagian `securitySchemes` dari ketentuan OpenAPI.  
Properti `issuer` dan `audience` tidak peka huruf besar/kecil dan dapat digunakan baik huruf kecil seperti di OpenAPI atau huruf besar dan seperti dalam. `Issuer` `Audience` [AWS::ApiGatewayV2::Authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html) 
*Tipe*: Peta  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-httpapi-oauth2authorizer--examples"></a>

### OAuth 2.0 otorisasi
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer"></a>

OAuth 2.0 Authorizer Contoh

#### YAML
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

# HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration"></a>

Kelola berbagi sumber daya lintas asal (CORS) untuk HTTP Anda. APIs Tentukan domain untuk diizinkan sebagai string atau tentukan kamus dengan konfigurasi Cors tambahan. CATATAN: Cor membutuhkan SAM untuk memodifikasi definisi OpenAPI Anda, sehingga hanya berfungsi dengan OpenApi sebaris yang ditentukan di properti. `DefinitionBody`

Untuk informasi lebih lanjut tentang CORS, lihat [Mengonfigurasi CORS untuk API HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) di *Panduan Developer API Gateway*.

Catatan: Jika HttpApiCorsConfiguration disetel baik di OpenAPI maupun di tingkat properti, AWS SAM gabungkan mereka dengan properti yang diutamakan.

## Sintaksis
<a name="sam-property-httpapi-httpapicorsconfiguration-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [AllowCredentials](#sam-httpapi-httpapicorsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-httpapi-httpapicorsconfiguration-allowheaders): List
  [AllowMethods](#sam-httpapi-httpapicorsconfiguration-allowmethods): List
  [AllowOrigins](#sam-httpapi-httpapicorsconfiguration-alloworigins): List
  [ExposeHeaders](#sam-httpapi-httpapicorsconfiguration-exposeheaders): List
  [MaxAge](#sam-httpapi-httpapicorsconfiguration-maxage): Integer
```

## Sifat-sifat
<a name="sam-property-httpapi-httpapicorsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-httpapi-httpapicorsconfiguration-allowcredentials"></a>
Menentukan apakah kredensial termasuk dalam permintaan CORS.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `AllowHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-allowheaders"></a>
Merupakan kumpulan header yang diizinkan.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `AllowMethods`   <a name="sam-httpapi-httpapicorsconfiguration-allowmethods"></a>
Merupakan kumpulan metode HTTP yang diizinkan.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `AllowOrigins`   <a name="sam-httpapi-httpapicorsconfiguration-alloworigins"></a>
Merupakan kumpulan asal yang diizinkan.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `ExposeHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-exposeheaders"></a>
Merupakan kumpulan header yang terekspos.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `MaxAge`   <a name="sam-httpapi-httpapicorsconfiguration-maxage"></a>
Jumlah detik ketika peramban harus men-cache hasil permintaan penerbangan awal.  
*Tipe*: Integer  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-httpapi-httpapicorsconfiguration--examples"></a>

### HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration"></a>

Contoh Konfigurasi Cors API HTTP.

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

```
CorsConfiguration:
  AllowOrigins:
    - "https://example.com"
  AllowHeaders:
    - x-apigateway-header
  AllowMethods:
    - GET
  MaxAge: 600
  AllowCredentials: true
```

# HttpApiDefinition
<a name="sam-property-httpapi-httpapidefinition"></a>

Dokumen OpenAPI yang menentukan API.

## Sintaksis
<a name="sam-property-httpapi-httpapidefinition-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [Bucket](#sam-httpapi-httpapidefinition-bucket): String
  [Key](#sam-httpapi-httpapidefinition-key): String
  [Version](#sam-httpapi-httpapidefinition-version): String
```

## Sifat-sifat
<a name="sam-property-httpapi-httpapidefinition-properties"></a>

 `Bucket`   <a name="sam-httpapi-httpapidefinition-bucket"></a>
Nama bucket Amazon S3 tempat file OpenAPI disimpan.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket)` properti tipe `AWS::ApiGatewayV2::Api` `BodyS3Location` data.

 `Key`   <a name="sam-httpapi-httpapidefinition-key"></a>
Kunci Amazon S3 dari file OpenAPI.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key)` properti tipe `AWS::ApiGatewayV2::Api` `BodyS3Location` data.

 `Version`   <a name="sam-httpapi-httpapidefinition-version"></a>
Untuk objek berversi, versi file OpenAPI.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version)` properti tipe `AWS::ApiGatewayV2::Api` `BodyS3Location` data.

## Contoh
<a name="sam-property-httpapi-httpapidefinition--examples"></a>

### Contoh Uri Ketentuan
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example"></a>

Contoh ketentuan API

#### YAML
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# HttpApiDomainConfiguration
<a name="sam-property-httpapi-httpapidomainconfiguration"></a>

Mengonfigurasi domain kustom untuk API.

## Sintaksis
<a name="sam-property-httpapi-httpapidomainconfiguration-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [BasePath](#sam-httpapi-httpapidomainconfiguration-basepath): List
  [CertificateArn](#sam-httpapi-httpapidomainconfiguration-certificatearn): String
  [DomainName](#sam-httpapi-httpapidomainconfiguration-domainname): String
  [EndpointConfiguration](#sam-httpapi-httpapidomainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)
  [OwnershipVerificationCertificateArn](#sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn): String
  [Route53](#sam-httpapi-httpapidomainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-httpapi-httpapidomainconfiguration-securitypolicy): String
```

## Sifat-sifat
<a name="sam-property-httpapi-httpapidomainconfiguration-properties"></a>

 `BasePath`   <a name="sam-httpapi-httpapidomainconfiguration-basepath"></a>
Daftar basepaths untuk mengonfigurasi dengan nama domain Amazon API Gateway.  
*Tipe*: Daftar  
*Wajib*: Tidak  
*Default*:/  
*CloudFormation kompatibilitas*: Properti ini mirip dengan `[ApiMappingKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey)` properti `AWS::ApiGatewayV2::ApiMapping` sumber daya. AWS SAM menciptakan beberapa `AWS::ApiGatewayV2::ApiMapping` sumber daya, satu per nilai yang ditentukan dalam properti ini.

 `CertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-certificatearn"></a>
Nama Sumber Daya Amazon (ARN) dari sertifikat AWS terkelola untuk titik akhir nama domain ini. AWS Certificate Manager adalah satu-satunya sumber yang didukung.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn)` properti `AWS::ApiGateway2::DomainName DomainNameConfiguration` sumber daya.

 `DomainName`   <a name="sam-httpapi-httpapidomainconfiguration-domainname"></a>
Nama domain khusus untuk API dari API Gateway Anda. Tidak didukung huruf besar.  
AWS SAM menghasilkan sumber `AWS::ApiGatewayV2::DomainName` daya saat properti ini disetel. Untuk informasi selengkapnya tentang skenario ini, lihat [DomainName properti ditentukan](sam-specification-generated-resources-httpapi.md#sam-specification-generated-resources-httpapi-domain-name). Untuk informasi tentang CloudFormation sumber daya yang dihasilkan, lihat[CloudFormation Sumber daya yang dihasilkan untuk AWS SAM](sam-specification-generated-resources.md).  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname)` properti `AWS::ApiGateway2::DomainName` sumber daya.

 `EndpointConfiguration`   <a name="sam-httpapi-httpapidomainconfiguration-endpointconfiguration"></a>
Menentukan tipe titik akhir API Gateway untuk memetakan ke domain kustom. Nilai properti ini menentukan bagaimana `CertificateArn` properti dipetakan. CloudFormation  
Satu-satunya nilai yang valid untuk HTTP APIs adalah`REGIONAL`.  
*Tipe*: String  
*Wajib*: Tidak  
*Default*: `REGIONAL`  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `MutualTlsAuthentication`   <a name="sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication"></a>
Konfigurasi autentikasi Keamanan Lapisan Pengangkutan (TLS) bersama untuk nama domain kustom.  
*Jenis*: [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)` properti `AWS::ApiGatewayV2::DomainName` sumber daya.

 `OwnershipVerificationCertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn"></a>
ARN sertifikat publik yang dikeluarkan oleh ACM untuk memvalidasi kepemilikan domain kustom Anda. Diperlukan hanya ketika Anda mengonfigurasi TLS timbal balik dan Anda menentukan ARN sertifikat CA yang diimpor atau pribadi ACM untuk ARN. `CertificateArn`  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn)` properti tipe `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` data.

 `Route53`   <a name="sam-httpapi-httpapidomainconfiguration-route53"></a>
Menentukan konfigurasi Amazon Route 53.  
*Tipe*: [Route53Configuration](sam-property-httpapi-route53configuration.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `SecurityPolicy`   <a name="sam-httpapi-httpapidomainconfiguration-securitypolicy"></a>
Versi TLS kebijakan keamanan untuk nama domain ini.  
Satu-satunya nilai yang valid untuk HTTP APIs adalah`TLS_1_2`.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy)` properti tipe `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` data.

## Contoh
<a name="sam-property-httpapi-httpapidomainconfiguration--examples"></a>

### DomainName
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname"></a>

DomainName contoh

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

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: REGIONAL
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# Route53Configuration
<a name="sam-property-httpapi-route53configuration"></a>

Mengonfigurasi set catatan Route53 untuk API.

## Sintaksis
<a name="sam-property-httpapi-route53configuration-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

```
  [DistributionDomainName](#sam-httpapi-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-httpapi-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-httpapi-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-httpapi-route53configuration-hostedzonename): String
  [IpV6](#sam-httpapi-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
```

## Sifat-sifat
<a name="sam-property-httpapi-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-httpapi-route53configuration-distributiondomainname"></a>
Mengonfigurasi distribusi kustom nama domain kustom API.  
*Tipe*: String  
*Wajib*: Tidak  
*Default*: Gunakan distribusi API Gateway.  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` properti `AWS::Route53::RecordSetGroup AliasTarget` sumber daya.  
*Catatan tambahan*: Nama domain [CloudFrontdistribusi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html).

 `EvaluateTargetHealth`   <a name="sam-httpapi-route53configuration-evaluatetargethealth"></a>
Kapan EvaluateTargetHealth benar, catatan alias mewarisi kesehatan AWS sumber daya yang direferensikan, seperti penyeimbang beban Elastic Load Balancing atau catatan lain di zona yang dihosting.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` properti `AWS::Route53::RecordSetGroup AliasTarget` sumber daya.  
*Catatan tambahan*: Anda tidak dapat mengatur EvaluateTargetHealth ke true ketika target alias adalah CloudFront distribusi.

 `HostedZoneId`   <a name="sam-httpapi-route53configuration-hostedzoneid"></a>
ID zona yang di-hosting tempat Anda ingin membuat catatan.  
Tentukan `HostedZoneName` atau `HostedZoneId`, tapi tidak keduanya. Jika Anda memiliki beberapa zona yang di-hosting dengan nama domain yang sama, Anda harus menentukan zona yang di-hosting menggunakan `HostedZoneId`.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` properti `AWS::Route53::RecordSetGroup RecordSet` sumber daya.

 `HostedZoneName`   <a name="sam-httpapi-route53configuration-hostedzonename"></a>
Nama zona yang di-hosting tempat Anda ingin membuat catatan. Anda harus menyertakan titik beruntun (misalnya, `www.example.com.`) sebagai bagian dari `HostedZoneName`.  
Tentukan `HostedZoneName` atau `HostedZoneId`, tapi tidak keduanya. Jika Anda memiliki beberapa zona yang di-hosting dengan nama domain yang sama, Anda harus menentukan zona yang di-hosting menggunakan `HostedZoneId`.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` properti `AWS::Route53::RecordSetGroup RecordSet` sumber daya.

 `IpV6`   <a name="sam-httpapi-route53configuration-ipv6"></a>
Saat properti ini disetel, AWS SAM buat `AWS::Route53::RecordSet` sumber daya dan set [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) `AAAA` untuk yang disediakan HostedZone.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

`Region`  <a name="sam-httpapi-route53configuration-region"></a>
*Hanya set catatan sumber daya berbasis latensi*: EC2 Wilayah Amazon tempat Anda membuat sumber daya yang dirujuk oleh kumpulan catatan sumber daya ini. Sumber daya biasanya adalah AWS sumber daya, seperti EC2 instance atau penyeimbang beban ELB, dan dirujuk oleh alamat IP atau nama domain DNS, tergantung pada jenis catatan.  
Saat Amazon Route 53 menerima kueri DNS untuk nama domain dan jenis yang telah Anda buat set catatan sumber daya latensi, Route 53 memilih kumpulan catatan sumber daya latensi yang memiliki latensi terendah antara pengguna akhir dan Wilayah Amazon terkait. EC2 Route 53 kemudian mengembalikan nilai yang terkait dengan set catatan sumber daya yang dipilih.  
Perhatikan hal-hal berikut:  
+ Anda hanya dapat menentukan satu `ResourceRecord` per set catatan sumber daya latensi.
+ Anda hanya dapat membuat satu set catatan sumber daya latensi untuk setiap EC2 Wilayah Amazon.
+ Anda tidak diharuskan membuat kumpulan rekaman sumber daya latensi untuk semua EC2 Wilayah Amazon. Route 53 akan memilih wilayah dengan latensi terbaik dari antara wilayah yang Anda buat set catatan sumber daya latensi.
+ Anda tidak dapat membuat set catatan sumber daya non-latensi yang memiliki nilai yang sama untuk elemen `Name` dan `Type` sebagai set catatan sumber daya latensi.
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` properti tipe `AWS::Route53::RecordSetGroup` `RecordSet` data.

`SetIdentifier`  <a name="sam-httpapi-route53configuration-setidentifier"></a>
*Set catatan sumber daya yang memiliki kebijakan perutean selain sederhana:* Pengenal yang membedakan antara beberapa set catatan sumber daya yang memiliki kombinasi nama dan jenis yang sama, seperti beberapa set catatan sumber daya tertimbang bernama acme.example.com yang memiliki tipe A. Dalam grup set catatan sumber daya yang memiliki nama dan tipe yang sama, nilai `SetIdentifier` harus unik untuk setiap set catatan sumber daya.  
Untuk informasi tentang kebijakan perutean, lihat [Memilih kebijakan perutean di Panduan](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) *Pengembang Amazon Route 53*.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` properti tipe `AWS::Route53::RecordSetGroup` `RecordSet` data.

## Contoh
<a name="sam-property-httpapi-route53configuration--examples"></a>

### Contoh Konfigurasi Route 53
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example"></a>

Contoh ini menunjukkan cara mengonfigurasi Route 53.

#### YAML
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
    EvaluateTargetHealth: true
    DistributionDomainName: xyz
```