

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

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

Objek yang menggambarkan tipe sumber peristiwa `Api`. Jika sumber daya [AWS::Serverless::Api](sam-resource-api.md) didefinisikan, nilai jalur dan metode harus sesuai dengan operasi dalam ketentuan OpenAPI API.

Jika [AWS::Serverless::Api](sam-resource-api.md) tidak ditentukan, input dan output fungsi adalah representasi dari permintaan HTTP dan respons HTTP.

Misalnya, menggunakan JavaScript API, kode status dan isi respons dapat dikontrol dengan mengembalikan objek dengan kunci StatusCode dan body.

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

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

### 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}}
```

## Sifat-sifat
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
Konfigurasi auth untuk Api\+Path\+Metode tertentu ini.  
Berguna untuk membatalkan config auth pengaturan `DefaultAuthorizer` API pada jalur individu ketika `DefaultAuthorizer` tidak ditentukan atau membatalkan pengaturan `ApiKeyRequired` default.  
*Jenis*: [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Method`   <a name="sam-function-api-method"></a>
Metode HTTP yang membuat fungsi ini dipanggil. Pilihan termasuk`DELETE`,`GET`,`HEAD`,`OPTIONS`,`PATCH`,`POST`,`PUT`, dan`ANY`. Lihat [Mengatur metode HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method) di *Panduan Pengembang API Gateway* untuk detailnya.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Path`   <a name="sam-function-api-path"></a>
Jalur Uri yang membuat fungsi ini dipanggil. Harus dimulai dengan `/`.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
Permintaan model yang akan digunakan untuk Api\+Path\+Metode tertentu ini. Ini harus merujuk nama model yang ditentukan dalam bagian `Models` dari sumber daya [AWS::Serverless::Api](sam-resource-api.md).  
*Jenis*: [RequestModel](sam-property-function-requestmodel.md)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
Konfigurasi parameter permintaan untuk Api\+Path\+Metode tertentu ini. Semua nama parameter harus dimulai dengan `method.request` dan harus terbatas pada `method.request.header`, `method.request.querystring`, atau `method.request.path`.  
Daftar dapat berisi string nama parameter dan [RequestParameter](sam-property-function-requestparameter.md)objek. Untuk string, `Caching` properti `Required` and akan default ke`false`.  
*Jenis*: Daftar [String \| [RequestParameter](sam-property-function-requestparameter.md)]  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
Pengidentifikasi RestApi sumber daya, yang harus berisi operasi dengan jalur dan metode yang diberikan. Biasanya, ini diatur untuk merujuk sumber daya [AWS::Serverless::Api](sam-resource-api.md) yang ditentukan dalam templat ini.  
Jika Anda tidak mendefinisikan properti ini, AWS SAM buat [AWS::Serverless::Api](sam-resource-api.md) sumber daya default menggunakan `OpenApi` dokumen yang dihasilkan. Sumber daya tersebut berisi penyatuan dari semua jalur dan metode yang ditentukan oleh peristiwa `Api` dalam templat yang sama yang tidak menentukan `RestApiId`.  
Ini tidak dapat merujuk sumber daya [AWS::Serverless::Api](sam-resource-api.md) yang ditentukan dalam templat lain.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Mode transfer respons untuk integrasi fungsi Lambda. Setel `RESPONSE_STREAM` untuk mengaktifkan streaming respons Lambda melalui API Gateway, memungkinkan fungsi untuk mengalirkan respons kembali ke klien. Saat disetel ke`RESPONSE_STREAM`, API Gateway menggunakan API Lambda InvokeWithResponseStreaming .  
*Tipe*: String  
*Wajib*: Tidak  
*Nilai yang valid*: `BUFFERED` \| `RESPONSE_STREAM`  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke [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)properti`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
Waktu habis khusus antara 50 dan 29.000 milidetik.  
Saat Anda menentukan properti ini, AWS SAM memodifikasi definisi OpenAPI Anda. Definisi OpenAPI harus ditentukan sebaris menggunakan properti. `DefinitionBody` 
*Tipe*: Integer  
*Wajib*: Tidak  
*Default*: 29.000 milidetik atau 29 detik  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

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

### Contoh basic
<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
```