

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

# Menerapkan REST APIs di API Gateway
<a name="how-to-deploy-api"></a>

 Setelah membuat API, Anda harus menerapkannya agar dapat dipanggil oleh pengguna Anda. 

Untuk menerapkan API, Anda membuat penerapan API dan mengaitkannya dengan sebuah panggung. Stage adalah referensi logis ke status siklus hidup API Anda (misalnya,,, `dev` `prod``beta`,`v2`). Tahapan API diidentifikasi oleh ID API dan nama panggung. Mereka disertakan dalam URL yang Anda gunakan untuk menjalankan API. Setiap tahap adalah referensi bernama untuk deployment API dan dibuat tersedia bagi aplikasi klien untuk dipanggil. 

**penting**  
Setiap kali Anda memperbarui API, Anda harus menerapkan ulang API ke tahap yang ada atau ke tahap baru. Memperbarui API mencakup memodifikasi rute, metode, integrasi, otorisasi, kebijakan sumber daya, dan hal lain selain pengaturan tahap. 

Saat API Anda berkembang, Anda dapat terus menerapkannya ke tahapan yang berbeda sebagai versi API yang berbeda. Anda juga dapat menerapkan pembaruan API Anda sebagai penerapan [rilis canary](canary-release.md). Hal ini memungkinkan klien API Anda untuk mengakses, pada tahap yang sama, versi produksi melalui rilis produksi, dan versi terbaru melalui rilis canary. 

Untuk memanggil API yang diterapkan, klien mengirimkan permintaan terhadap URL API. URL ditentukan oleh protokol API (HTTP (S) atau (WSS)), nama host, nama panggung, dan jalur sumber daya (untuk REST APIs). Nama host dan nama panggung menentukan URL dasar API. 

Menggunakan nama domain default API, URL dasar REST API (misalnya) dalam tahap tertentu (`{stageName}`) adalah dalam format berikut:

```
https://{restapi-id}.execute-api.{region}.amazonaws.com/{stageName}
```

 Untuk membuat URL dasar default API lebih ramah pengguna, Anda dapat membuat nama domain khusus (misalnya,`api.example.com`) untuk mengganti nama host default API. Untuk mendukung beberapa APIs di bawah nama domain kustom, Anda harus memetakan tahap API ke jalur dasar. 

Dengan nama domain kustom `{api.example.com}` dan tahap API yang dipetakan ke jalur dasar (`{basePath}`) di bawah nama domain kustom, URL dasar REST API menjadi sebagai berikut: 

```
https://{api.example.com}/{basePath}
```

 Untuk setiap tahap, Anda dapat mengoptimalkan performa API dengan menyesuaikan batas pembatasan permintaan tingkat akun default dan mengaktifkan caching API. Anda juga dapat mengaktifkan logging untuk panggilan API ke CloudTrail atau CloudWatch, dan dapat memilih sertifikat klien untuk backend untuk mengautentikasi permintaan API. Selain itu, Anda dapat mengganti setelan tingkat tahap untuk metode individual dan menentukan variabel tahap untuk meneruskan konteks lingkungan khusus tahap ke integrasi API saat runtime. 

Tahapan memungkinkan kontrol versi yang kuat dari API Anda. Misalnya, Anda dapat menerapkan API ke `test` stage dan `prod` stage, dan menggunakan `test` stage sebagai test build dan menggunakan `prod` stage sebagai build stabil. Setelah pembaruan lulus tes, Anda dapat mempromosikan `test` panggung ke `prod` panggung. Promosi dapat dilakukan dengan memindahkan API ke `prod` tahap atau memperbarui nilai variabel tahap dari nama panggung `test` ke nama. `prod`

 Di bagian ini, kita membahas cara menerapkan API dengan menggunakan [konsol API Gateway](https://console.aws.amazon.com/apigateway) atau memanggil API [Gateway REST API](https://docs.aws.amazon.com/apigateway/latest/api/). [Untuk menggunakan alat lain, lihat dokumentasi [AWS CLI atau SDK](https://docs.aws.amazon.com/cli/latest/reference/apigateway/).AWS](https://aws.amazon.com/developer/tools/#sdk) 

**Topics**
+ [Membuat penerapan untuk REST API di API Gateway](set-up-deployments.md)
+ [Siapkan panggung untuk REST API di API Gateway](set-up-stages.md)
+ [Siapkan penerapan rilis kenari API Gateway](canary-release.md)
+ [Pembaruan untuk REST APIs yang memerlukan pemindahan](updating-api.md)

# Membuat penerapan untuk REST API di API Gateway
<a name="set-up-deployments"></a>

 Di API Gateway, penerapan REST API diwakili oleh sumber daya [Deployment](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html). Ini mirip dengan executable API yang diwakili oleh sumber daya. [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html) 

Agar klien dapat memanggil API Anda, Anda harus membuat penerapan dan mengaitkan tahapan dengannya. Sebuah panggung diwakili oleh sumber daya [Panggung](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html). Ini mewakili snapshot API, termasuk metode, integrasi, model, template pemetaan, dan otorisasi Lambda (sebelumnya dikenal sebagai otorisasi khusus). Saat memperbarui API, Anda dapat menerapkan ulang API dengan mengaitkan tahap baru dengan penerapan yang ada. Kami membahas membuat panggung di[Siapkan panggung untuk REST API di API Gateway](set-up-stages.md).

**Topics**
+ [Buat deployment](#create-deployment)
+ [Langkah selanjutnya untuk penerapan API](#apigateway-deployment-next-steps)

## Buat deployment
<a name="create-deployment"></a>

Prosedur berikut menunjukkan cara membuat penerapan untuk REST API.

------
#### [ Konsol Manajemen AWS ]

 Anda harus telah membuat REST API sebelum menerapkannya untuk pertama kalinya. Untuk informasi selengkapnya, lihat [Kembangkan REST APIs di API Gateway](rest-api-develop.md). 

 Konsol API Gateway memungkinkan Anda men-deploy API dengan membuat deployment dan mengaitkannya dengan tahap baru atau yang sudah ada. 

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1.  Di panel **APIs**navigasi, pilih API yang ingin Anda terapkan. 

1. Di panel **Resources**, pilih **Deploy API**.

1. Untuk **Stage**, pilih dari berikut ini:

   1. Untuk membuat tahap baru, pilih **Tahap baru**, lalu masukkan nama di **Nama panggung**. **Secara opsional, Anda dapat memberikan deskripsi untuk penyebaran dalam deskripsi Deployment.**

   1. Untuk memilih tahap yang ada, pilih nama panggung dari menu tarik-turun. Anda mungkin ingin memberikan deskripsi penerapan baru dalam deskripsi **Deployment**.

   1. Untuk membuat penyebaran yang tidak terkait dengan tahap, pilih **Tidak ada tahap**. Nanti, Anda dapat mengaitkan penerapan ini dengan sebuah panggung.

1. Pilih **Deploy**.

------
#### [ AWS CLI ]

[Saat membuat penerapan, Anda membuat instance sumber daya Deployment.](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html)

Perintah [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) berikut membuat penerapan baru:

```
 aws apigateway create-deployment --rest-api-id rest-api-id
```

Anda tidak dapat memanggil API sampai Anda mengaitkan penerapan ini dengan sebuah panggung. Dengan tahap yang ada, Anda dapat melakukan ini dengan memperbarui properti [deploymentID stage dengan ID](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#deploymentId) deployment yang baru dibuat. Perintah [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) berikut memperbarui tahap dengan penerapan baru. Di konsol, ini disebut **penyebaran aktif**.

```
 aws apigateway update-stage \
    --rest-api-id rest-api-id \ 
    --stage-name 'stage-name' \ 
    --patch-operations op='replace',path='/deploymentId',value='deployment-id'
```

Saat Anda membuat penerapan, Anda juga dapat mengaitkannya dengan tahap baru secara bersamaan. Perintah [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) berikut membuat penerapan baru dan mengaitkannya dengan tahap baru yang disebut: `beta`

```
 aws apigateway create-deployment \
    --rest-api-id rest-api-id \
    --stage-name beta
```

------

Untuk menerapkan ulang API, lakukan langkah yang sama. Anda dapat menggunakan kembali tahap yang sama.

## Langkah selanjutnya untuk penerapan API
<a name="apigateway-deployment-next-steps"></a>

Berikut ini adalah langkah selanjutnya untuk penerapan API Anda.

Ubah pengaturan panggung  
Setelah API diterapkan, Anda dapat memodifikasi pengaturan panggung untuk mengaktifkan atau menonaktifkan cache API, logging, atau meminta pembatasan. Anda juga dapat memilih sertifikat klien untuk backend untuk mengautentikasi API Gateway dan mengatur variabel tahap untuk meneruskan konteks penerapan ke integrasi API saat runtime. Untuk informasi selengkapnya, silakan lihat [Ubah pengaturan panggung](set-up-stages.md#how-to-stage-settings)  
Setelah memodifikasi pengaturan tahap, Anda harus menerapkan ulang API agar perubahan diterapkan.  
 Jika pengaturan yang diperbarui, seperti mengaktifkan logging, memerlukan peran IAM baru, Anda dapat menambahkan peran IAM yang diperlukan tanpa menerapkan ulang API. Namun, mungkin perlu beberapa menit sebelum peran IAM baru berlaku. Sebelum itu terjadi, jejak panggilan API Anda tidak dicatat meskipun Anda telah mengaktifkan opsi logging. 

Pilih kombinasi tahap penerapan yang berbeda  
 Karena penerapan merepresentasikan snapshot API dan tahap menentukan jalur ke dalam snapshot, Anda dapat memilih kombinasi tahap penerapan yang berbeda untuk mengontrol cara pengguna memanggil ke versi API yang berbeda. Ini berguna, misalnya, ketika Anda ingin memutar kembali status API ke penerapan sebelumnya atau menggabungkan 'cabang pribadi' API ke publik.   
 Prosedur berikut menunjukkan cara melakukannya menggunakan **Stage Editor** di konsol API Gateway. Diasumsikan bahwa Anda harus telah menerapkan API lebih dari sekali.   

1. **Jika Anda belum berada di panel **Tahapan**, di panel navigasi utama, pilih Tahapan.**

1. Pilih tahap yang ingin Anda perbarui.

1. Pada tab **Riwayat Deployment**, pilih penyebaran yang ingin Anda gunakan untuk tahap. 

1. Pilih **Ubah penerapan aktif**.

1. Konfirmasikan bahwa Anda ingin mengubah penerapan aktif dan pilih **Ubah penerapan aktif di kotak** dialog **Make active deployment**.

Teruskan data khusus penerapan ke API Anda.  
 Untuk penerapan, Anda dapat menyetel atau memodifikasi variabel tahap untuk meneruskan data khusus penerapan ke integrasi API saat runtime. Anda dapat melakukan ini pada tab **Stage Variables** di **Stage Editor**. Untuk informasi lebih lanjut, lihat petunjuk di[Menggunakan variabel stage untuk REST API di API Gateway](stage-variables.md).

# Siapkan panggung untuk REST API di API Gateway
<a name="set-up-stages"></a>

Tahap adalah referensi bernama untuk penerapan, yang merupakan snapshot dari API. Anda menggunakan [Stage](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html) untuk mengelola dan mengoptimalkan penerapan tertentu. Misalnya, Anda dapat mengonfigurasi pengaturan tahap untuk mengaktifkan caching, menyesuaikan pembatasan permintaan, mengonfigurasi logging, menentukan variabel tahap, atau melampirkan rilis kenari untuk pengujian. Bagian berikut menunjukkan cara membuat dan mengkonfigurasi panggung Anda.

## Buat panggung baru
<a name="how-to-create-stage-console"></a>

 Setelah penerapan awal, Anda dapat menambahkan lebih banyak tahapan dan mengaitkannya dengan penerapan yang ada. Anda dapat menggunakan konsol API Gateway untuk membuat tahap baru, atau Anda dapat memilih tahap yang ada saat menerapkan API. Secara umum, Anda dapat menambahkan tahap baru ke penerapan API sebelum menerapkan ulang API. Untuk membuat tahap baru menggunakan konsol API Gateway, ikuti langkah-langkah berikut: 

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Pilih REST API.

1. Di panel navigasi utama, pilih **Tahapan** di bawah API.

1. Dari panel navigasi **Tahapan**, pilih **Buat tahap**.

1.  Untuk **nama Panggung**, masukkan nama, misalnya,**prod**. 
**catatan**  
Nama panggung hanya dapat berisi karakter alfanumerik, tanda hubung, dan garis bawah. Panjang maksimum adalah 128 karakter.

1.  (Opsional). Untuk **Deskripsi**, masukkan deskripsi panggung.

1. Untuk **Deployment**, pilih tanggal dan waktu penerapan API yang ada yang ingin Anda kaitkan dengan tahap ini.

1. Di bawah **Pengaturan tambahan**, Anda dapat menentukan pengaturan tambahan untuk panggung Anda.

1. Pilih **Buat panggung**.

## Ubah pengaturan panggung
<a name="how-to-stage-settings"></a>

Setelah penerapan API berhasil, tahap diisi dengan pengaturan default. Anda dapat menggunakan konsol atau API Gateway REST API untuk mengubah pengaturan panggung, termasuk caching API dan logging. Jika Anda telah memodifikasi titik akhir default REST API Anda, saat Anda memperbarui tahapan, modifikasi akan disebarkan ke semua tahapan API Anda. Langkah-langkah berikut menunjukkan cara melakukannya menggunakan **editor Stage** dari konsol API Gateway.

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Pilih REST API.

1. Di panel navigasi utama, pilih **Tahapan** di bawah API.

1. Di panel **Tahapan**, pilih nama panggung.

1. Di bagian **Detail tahap**, pilih **Edit**.

1. (Opsional) Untuk **deskripsi Tahap**, edit deskripsi.

1. Untuk **pengaturan tambahan**, Anda mengubah pengaturan berikut:

     
**Pengaturan cache**  
Untuk mengaktifkan caching API untuk stage, aktifkan **cache API Provision**. Kemudian konfigurasikan **caching tingkat metode Default, **Kapasitas cache**, **Enkripsi data cache**, Cache time-to-live (TTL), serta persyaratan apa pun untuk pembatalan** **cache** per kunci.  
Caching tidak aktif sampai Anda mengaktifkan caching tingkat metode default atau mengaktifkan cache tingkat metode untuk metode tertentu.  
Untuk informasi selengkapnya tentang pengaturan cache, lihat[Pengaturan cache untuk REST APIs di API Gateway](api-gateway-caching.md).  
Jika Anda mengaktifkan caching API untuk tahap API, AWS akun Anda mungkin dikenakan biaya untuk caching API. Caching tidak memenuhi syarat untuk Tingkat AWS Gratis.  
**Pengaturan pelambatan**  
**Untuk menetapkan target pelambatan tingkat tahap untuk semua metode yang terkait dengan API ini, aktifkan Throttling.**  
Untuk **Rate**, masukkan target rate. Ini adalah tarif, dalam permintaan per detik, token ditambahkan ke ember token. Tingkat tingkat tahap tidak boleh lebih dari tingkat [tingkat akun seperti yang ditentukan](api-gateway-request-throttling.md#apig-request-throttling-account-level-limits) dalam. [Kuota untuk mengonfigurasi dan menjalankan REST API di API Gateway](api-gateway-execution-service-limits-table.md)   
Untuk **Burst**, masukkan target burst rate. Laju burst, adalah kapasitas ember token. Ini memungkinkan lebih banyak permintaan melalui untuk jangka waktu tertentu daripada tingkat target. Tingkat ledakan tingkat tahap ini tidak boleh lebih dari tingkat burst rate [akun seperti yang ditentukan](api-gateway-request-throttling.md#apig-request-throttling-account-level-limits) dalam. [Kuota untuk mengonfigurasi dan menjalankan REST API di API Gateway](api-gateway-execution-service-limits-table.md)   
Tarif pelambatan bukanlah batas yang sulit, dan diterapkan atas dasar upaya terbaik. Dalam beberapa kasus, klien dapat melebihi target yang Anda tetapkan. Jangan mengandalkan pembatasan untuk mengontrol biaya atau memblokir akses ke API. Pertimbangkan [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)untuk menggunakan untuk memantau biaya dan [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)mengelola permintaan API.  
**Pengaturan firewall dan sertifikat**  
Untuk mengaitkan ACL AWS WAF web dengan panggung, pilih ACL web dari daftar dropdown **Web ACL**. Jika diinginkan, pilih **Blokir Permintaan API jika WebACL tidak dapat dievaluasi (**Gagal- Tutup).  
Untuk memilih sertifikat klien untuk tahap Anda, pilih sertifikat dari menu tarik-turun **sertifikat Klien**.

1. Pilih **Lanjutkan**.

1. Tinjau perubahan Anda dan pilih **Simpan perubahan**.

1. Untuk mengaktifkan CloudWatch Log Amazon untuk semua metode yang terkait dengan tahap API Gateway API ini, di bagian **Log dan penelusuran**, pilih **Edit**.
**catatan**  
Untuk mengaktifkan CloudWatch Log, Anda juga harus menentukan ARN dari peran IAM yang memungkinkan API Gateway untuk menulis informasi ke CloudWatch Log atas nama pengguna Anda. Untuk melakukannya, pilih **Pengaturan** dari panel navigasi **APIs**utama. Kemudian, untuk **peran CloudWatch log**, masukkan ARN dari peran IAM.   
Untuk skenario aplikasi umum, peran IAM dapat melampirkan kebijakan terkelola [Amazon APIGateway PushToCloudWatchLogs](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAPIGatewayPushToCloudWatchLogs.html).  
Peran IAM juga harus berisi pernyataan hubungan kepercayaan berikut:  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "apigateway.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```
  
Untuk informasi selengkapnya CloudWatch, lihat *[Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)*.

1. Pilih level logging dari menu dropdown **CloudWatch Log**. Level logging adalah sebagai berikut:
   + **Mati** - Logging tidak diaktifkan untuk tahap ini. 
   + **Hanya kesalahan** - Logging diaktifkan hanya untuk kesalahan. 
   + **Kesalahan dan info log** - Logging diaktifkan untuk semua acara.

1. Pilih **Penelusuran data** agar API Gateway melaporkan ke CloudWatch pencatatan jejak data untuk tahap Anda. Ini dapat berguna untuk memecahkan masalah APIs, tetapi dapat mengakibatkan pencatatan data sensitif.
**catatan**  
Kami menyarankan Anda untuk tidak menggunakan **data tracing** untuk produksi APIs.

1. Pilih **Metrik terperinci** agar API Gateway melaporkan ke CloudWatch metrik API`API calls`,,, `Latency` `Integration latency``400 errors`, dan. `500 errors` Untuk informasi selengkapnya CloudWatch, lihat [Pemantauan dasar dan pemantauan terperinci](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-basic-detailed.html) di Panduan CloudWatch Pengguna Amazon.
**penting**  
Akun Anda dikenakan biaya untuk mengakses metrik tingkat metode, tetapi bukan CloudWatch metrik tingkat API atau tingkat tahap.

1. Untuk mengaktifkan pencatatan akses ke tujuan, aktifkan **Pencatatan akses khusus**.

1. Untuk **ARN tujuan log Access**, masukkan ARN grup log atau aliran Firehose. 

   Format ARN untuk Firehose adalah. `arn:aws:firehose:{region}:{account-id}:deliverystream/amazon-apigateway-{your-stream-name}` Nama aliran Firehose Anda harus. `amazon-apigateway-{your-stream-name}`

1. Dalam **format Log**, masukkan format log. Untuk mempelajari lebih lanjut tentang contoh format log, lihat[CloudWatch format log untuk API Gateway](set-up-logging.md#apigateway-cloudwatch-log-formats).

1. Untuk mengaktifkan [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-apigateway.html)penelusuran untuk tahap API, pilih **penelusuran X-Ray**. Untuk informasi selengkapnya, lihat [Lacak permintaan pengguna ke REST APIs menggunakan X-Ray di API Gateway](apigateway-xray.md).

1. Pilih **Simpan perubahan**. Menerapkan ulang API Anda agar pengaturan baru diterapkan.

## Ganti pengaturan tingkat panggung
<a name="how-to-method-override"></a>

Setelah menyesuaikan setelan tingkat tahap, Anda dapat menggantinya untuk setiap metode API. Beberapa opsi ini dapat mengakibatkan biaya tambahan untuk Anda Akun AWS.

1. Untuk mengonfigurasi penggantian metode, perluas panggung di bawah panel navigasi sekunder, lalu pilih metode.  
![\[Perluas panggung di bawah panel navigasi sekunder, dan pilih metode.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/method-override-view-new-console.png)

1. **Untuk **penggantian Metode**, pilih Edit.**

1. Untuk mengaktifkan CloudWatch pengaturan tingkat metode, untuk **CloudWatch Log**, pilih level logging.

1. Untuk mengaktifkan pencatatan jejak data untuk metode Anda, pilih **Penelusuran data**.
**catatan**  
Kami menyarankan Anda untuk tidak menggunakan **data tracing** untuk produksi APIs.

1. **Untuk mengaktifkan metrik detail tingkat metode, pilih Metrik terperinci.** Akun Anda dikenakan biaya untuk mengakses metrik tingkat metode, tetapi bukan CloudWatch metrik tingkat API atau tingkat tahap.

1. **Untuk mengaktifkan pelambatan tingkat metode, pilih Throttling.** Masukkan opsi tingkat metode yang sesuai. Untuk mempelajari selengkapnya tentang throttling, lihat. [Throttle request ke REST APIs Anda untuk throughput yang lebih baik di API Gateway](api-gateway-request-throttling.md)

1. Untuk mengkonfigurasi cache tingkat metode, pilih **Aktifkan cache metode**. Jika Anda mengubah pengaturan caching tingkat metode default di **detail Tahap**, itu tidak memengaruhi pengaturan ini.

1. Pilih **Simpan**.

# Tambahkan API REST API Gateway sebagai target untuk Amazon Bedrock AgentCore Gateway
<a name="mcp-server"></a>

Amazon Bedrock AgentCore Gateway memberi pengembang agen AI cara aman untuk mengekspos REST API Gateway Anda APIs sebagai alat yang kompatibel dengan Model Context Protocol (MCP). AgentCore Gateway menggunakan target untuk menentukan alat. Saat Anda menambahkan tahap sebagai target, Gateway Anda menjadi URL MCP tunggal yang memungkinkan akses ke alat untuk agen. Untuk informasi selengkapnya, lihat [Tahapan API Gateway REST API sebagai target](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-target-api-gateway.html) di *Panduan Pengembang Amazon Bedrock AgentCore Gateway*.

Target API Gateway menghubungkan AgentCore Gateway Anda ke tahapan REST Anda APIs. Anda dapat memasukkan seluruh tahap sebagai target, atau memilih sumber daya. Setelah Anda membuat target API Gateway, AgentCore Gateway menerjemahkan permintaan MCP yang masuk ke dalam permintaan HTTP dan menangani pemformatan respons. Klien MCP dapat mengambil dokumentasi API menggunakan `tools/list` metode dan memanggil APIs menggunakan metode. `tools/call`

## Pertimbangan-pertimbangan
<a name="w2aac15c11c11c34c11b7"></a>

Pertimbangan berikut mungkin memengaruhi penggunaan Anda menambahkan tahap sebagai target ke AgentCore Gateway:
+ Anda harus sudah memiliki AgentCore Gateway.
+ Hanya REST publik APIs yang didukung.
+ Titik akhir default API Anda tidak dapat dinonaktifkan.
+ Setiap metode API Anda harus memiliki [nama operasi](https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html#apigw-PutMethod-request-operationName) yang ditentukan untuknya, atau kebutuhan Anda untuk membuat penggantian nama saat Anda menambahkan tahap sebagai target. Nama ini digunakan sebagai nama alat yang digunakan agen untuk berinteraksi dengan metode Anda.
+ Anda dapat menggunakan`API_KEY`,`NO_AUTH`, atau jenis penyedia `GATEWAY_IAM_ROLE` kredensi untuk Outbound Auth agar Gateway Anda dapat mengakses API Anda. Penyedia `API_KEY` kredensi ditentukan oleh AgentCore Gateway. Anda dapat menggunakan kunci API Gateway API yang ada. Untuk informasi selengkapnya, lihat [Menyiapkan Autentikasi Keluar](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-outbound-auth.html).
+ Jika Anda menggunakan kumpulan pengguna Amazon Cognito atau otorisasi Lambda untuk mengontrol akses ke API Anda, klien MCP tidak dapat mengaksesnya.
+ API Anda harus berada di akun dan Wilayah yang sama dengan AgentCore Gateway Anda.

## Menambahkan tahap API sebagai target untuk AgentCore Gateway
<a name="mcp-server-api-gateway"></a>

Prosedur berikut menunjukkan cara menambahkan tahap API sebagai target untuk AgentCore Gateway.

**Untuk menambahkan tahap API sebagai target untuk AgentCore Gateway**

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Pilih REST API yang diterapkan ke panggung.

1. Di panel navigasi utama, pilih **Tahapan**.

1. Pilih **Tindakan tahap**, lalu pilih **Buat target MCP**.

1. Untuk **AgentCore Gateway**, pilih AgentCore Gateway.

1. Untuk **nama Target**, masukkan nama target.

1. Untuk **deskripsi Target**, masukkan deskripsi.

1. Simpan API dan panggung yang disediakan.

1. Untuk **sumber daya API Pilih**, pilih sumber daya API Anda yang dapat diakses oleh agen yang menggunakan AgentCore Gateway Anda.

   Jika Anda tidak memilih sumber daya, agen tidak dapat melihat dokumentasi atau memanggil titik akhir. 

1. Kombinasi sumber daya dan metode adalah operasi untuk alat. Jika operasi Anda tidak memiliki nama, buat penggantian nama.

   Anda juga dapat menentukan nama operasi untuk metode saat Anda membuatnya.

1. **Untuk **konfigurasi Outbound Auth**, pilih **Peran IAM**, **Tanpa otorisasi**, atau kunci API.**

1. Pilih **Buat target**.

Untuk melihat semua AgentCore Gateway yang memiliki akses ke Anda APIs, pilih bagian **target MCP** di panel navigasi utama. Di bagian ini, Anda dapat membuat target MCP untuk API apa pun di Wilayah yang diterapkan ke sebuah panggung. Pilih **Buat target MCP** dan ikuti langkah-langkah sebelumnya.

Anda juga dapat melihat alat yang tersedia untuk target Anda dan mengedit target Anda di konsol AgentCore Gateway. Untuk informasi selengkapnya, lihat [Menambahkan target ke AgentCore Gateway yang ada](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-building-adding-targets.html).

# Hapus panggung
<a name="how-to-delete-stage"></a>

Ketika Anda tidak lagi membutuhkan panggung, Anda dapat menghapusnya untuk menghindari membayar sumber daya yang tidak digunakan. Langkah-langkah berikut menunjukkan kepada Anda cara menggunakan konsol API Gateway untuk menghapus panggung.

**Awas**  
 Menghapus tahap dapat menyebabkan sebagian atau semua API terkait tidak dapat digunakan oleh pemanggil API. Menghapus tahap tidak dapat dibatalkan, tetapi Anda dapat membuat ulang panggung dan mengaitkannya dengan penerapan yang sama. 

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Pilih REST API.

1. Di panel navigasi utama, pilih **Tahapan**.

1. Di panel **Tahapan**, pilih tahap yang ingin Anda hapus, lalu pilih **Tindakan tahap**, **Hapus tahap**.

1. Saat Anda diminta, masukkan**confirm**, lalu pilih **Hapus**.

# Menyiapkan tag untuk tahap API di API Gateway
<a name="set-up-tags"></a>

Di API Gateway, Anda dapat menambahkan tag ke tahap API, menghapus tag dari tahap, atau melihat tag. Untuk melakukannya, Anda dapat menggunakan konsol API Gateway, AWS CLI/SDK, atau API Gateway REST API.

Sebuah panggung juga dapat mewarisi tag dari REST API induknya. Untuk informasi selengkapnya, lihat [Warisan tag di Amazon API Gateway V1](apigateway-tagging-supported-resources.md#apigateway-tagging-inheritance).

Untuk informasi selengkapnya tentang menandai resource API Gateway, lihat[Menandai sumber daya API Gateway Anda](apigateway-tagging.md).

**Topics**
+ [Menyiapkan tag untuk tahap API menggunakan konsol API Gateway](#set-up-tags-using-console)
+ [Menyiapkan tag untuk tahap API menggunakan AWS CLI](#set-up-tags-using-cli)
+ [Menyiapkan tag untuk tahap API menggunakan API Gateway REST API](#set-up-tags-using-api)

## Menyiapkan tag untuk tahap API menggunakan konsol API Gateway
<a name="set-up-tags-using-console"></a>

Prosedur berikut menjelaskan cara menyiapkan tag untuk tahap API.

**Untuk menyiapkan tag untuk tahap API dengan menggunakan konsol API Gateway**

1. Masuk ke konsol API Gateway.

1. Pilih API yang sudah ada, atau buat API baru yang menyertakan sumber daya, metode, dan integrasi terkait.

1. Pilih tahapan atau terapkan API ke tahap baru.

1. Di panel navigasi utama, pilih **Tahapan**.

1. Pilih tab **Tanda**. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

1. Pilih **Kelola tanda**.

1. Di **Editor Tag**, pilih **Tambahkan tag**. Masukkan kunci tag (misalnya,`Department`) di bidang **Kunci**, dan masukkan nilai tag (misalnya,`Sales`) di bidang **Nilai**. Pilih **Simpan** untuk menyimpan tag.

1.  Jika perlu, ulangi langkah 5 untuk menambahkan lebih banyak tag ke tahap API. Jumlah maksimum tag per tahap adalah 50.

1.  Untuk menghapus tag yang ada dari panggung, pilih **Hapus**.

1. Jika API telah digunakan sebelumnya di konsol API Gateway, Anda perlu menerapkannya kembali agar perubahan diterapkan.

## Menyiapkan tag untuk tahap API menggunakan AWS CLI
<a name="set-up-tags-using-cli"></a>

[Anda dapat mengatur tag untuk tahap API menggunakan perintah menggunakan perintah [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) atau perintah tag-resource. AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/apigateway/tag-resource.html) Anda dapat menghapus satu atau beberapa tag dari tahap API menggunakan perintah [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/untag-resource.html). 

Perintah [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) berikut menambahkan tag saat membuat panggung: `test`

```
aws apigateway create-stage --rest-api-id abc1234 --stage-name test --description 'Testing stage' --deployment-id efg456 --tag Department=Sales
```

Perintah [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/tag-resource.html) berikut menambahkan tag ke panggung: `prod`

```
aws apigateway tag-resource --resource-arn arn:aws:apigateway:us-east-2::/restapis/abc123/stages/prod --tags Department=Sales
```

Perintah [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/untag-resource.html) berikut menghapus `Department=Sales` tag dari panggung: `test`

```
aws apigateway untag-resource --resource-arn arn:aws:apigateway:us-east-2::/restapis/abc123/stages/test --tag-keys Department 
```

## Menyiapkan tag untuk tahap API menggunakan API Gateway REST API
<a name="set-up-tags-using-api"></a>

Anda dapat menyiapkan tag untuk tahap API menggunakan API Gateway REST API dengan melakukan salah satu hal berikut:
+ Panggilan [https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html)untuk menandai tahap API.
+  Panggilan [https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html)untuk menghapus satu atau beberapa tag dari tahap API.
+ Panggil [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html)untuk menambahkan satu atau beberapa tag ke tahap API yang Anda buat.

Anda juga dapat menelepon [https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html)untuk mendeskripsikan tag dalam tahap API.

### Menandai tahap API
<a name="tag-a-stage-using-api"></a>

Setelah Anda menerapkan API (`m5zr3vnks7`) ke stage (`test`), beri tag stage dengan memanggil [https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html). Tahap yang diperlukan Nama Sumber Daya Amazon (ARN) (`arn:aws:apigateway:us-east-1::/restapis/m5zr3vnks7/stages/test`) harus dikodekan URL (). `arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest` 

```
PUT /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest

{
  "tags" : {
    "Department" : "Sales"
  }
}
```

 Anda juga dapat menggunakan permintaan sebelumnya untuk memperbarui tag yang ada ke nilai baru. 

Anda dapat menambahkan tag ke panggung saat memanggil [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html)untuk membuat panggung:

```
POST /restapis/<restapi_id>/stages

{
  "stageName" : "test",
  "deploymentId" : "adr134",
  "description" : "test deployment",
  "cacheClusterEnabled" : "true",
  "cacheClusterSize" : "500",
  "variables" : {
    "sv1" : "val1"
  },
  "documentationVersion" : "test",

  "tags" : {
    "Department" : "Sales",
    "Division" : "Retail"
  }
}
```

### Membatalkan tag tahap API
<a name="untag-a-stage-using-api"></a>

 Untuk menghapus `Department` tag dari panggung, hubungi [https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html): 

```
DELETE /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest?tagKeys=Department
Host: apigateway.us-east-1.amazonaws.com
Authorization: ...
```

 Untuk menghapus lebih dari satu tag, gunakan daftar kunci tag yang dipisahkan koma dalam ekspresi kueri—misalnya,. `?tagKeys=Department,Division,…` 

### Jelaskan tag untuk tahap API
<a name="get-tags-using-api"></a>

Untuk mendeskripsikan tag yang ada pada tahap tertentu, panggil [https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html):

```
GET /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags
Host: apigateway.us-east-1.amazonaws.com
Authorization: ...
```

Respons yang berhasil mirip dengan yang berikut:

```
200 OK

{
    "_links": {
        "curies": {
            "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-tags-{rel}.html",
            "name": "tags",
            "templated": true
        },
        "tags:tag": {
            "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags"
        },
        "tags:untag": {
            "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags{?tagKeys}",
            "templated": true
        }
    },
    "tags": {
        "Department": "Sales"
    }
}
```

# Menggunakan variabel stage untuk REST API di API Gateway
<a name="stage-variables"></a>

Variabel tahap adalah pasangan nilai kunci yang dapat Anda definisikan sebagai atribut konfigurasi yang terkait dengan tahap penerapan REST API. Mereka bertindak seperti variabel lingkungan dan dapat digunakan dalam template penyiapan dan pemetaan API Anda. Dengan tahapan penerapan di API Gateway, Anda dapat mengelola beberapa tahapan rilis untuk setiap API dan menggunakan variabel tahap, Anda dapat mengonfigurasi tahap penerapan API untuk berinteraksi dengan titik akhir backend yang berbeda.

Variabel tahap tidak dimaksudkan untuk digunakan untuk data sensitif, seperti kredensial. Untuk meneruskan data sensitif ke integrasi, gunakan AWS Lambda otorisasi. Anda dapat meneruskan data sensitif ke integrasi dalam output otorisasi Lambda. Untuk mempelajari selengkapnya, lihat [Keluaran dari otorisasi API Gateway Lambda](api-gateway-lambda-authorizer-output.md).

## Gunakan kasus untuk variabel tahap
<a name="use-cases"></a>

Berikut ini adalah kasus penggunaan untuk variabel tahap Anda.

**Tentukan titik akhir backend yang berbeda**  
API Anda dapat meneruskan `GET` permintaan sebagai proxy HTTP ke host web backend. Anda dapat menggunakan variabel stage sehingga ketika pemanggil API memanggil titik akhir produksi Anda, API Gateway akan memanggil. `example.com` Kemudian, ketika pemanggil API memanggil tahap beta, API Gateway memanggil host web yang berbeda, seperti. `beta.example.com` Demikian pula, variabel tahap dapat digunakan untuk menentukan nama AWS Lambda fungsi yang berbeda untuk setiap tahap di API Anda. Anda tidak dapat menggunakan variabel tahap untuk menetapkan titik akhir integrasi yang berbeda, seperti mengarahkan `GET` permintaan ke integrasi proxy HTTP dalam satu tahap dan integrasi proxy Lambda di tahap lain.  
Saat menentukan nama fungsi Lambda sebagai nilai variabel tahap, Anda harus mengonfigurasi izin pada fungsi Lambda secara manual. Saat Anda menentukan fungsi Lambda di konsol API Gateway, sebuah AWS CLI perintah akan muncul untuk mengonfigurasi izin yang tepat. Anda juga dapat menggunakan AWS CLI perintah berikut untuk melakukan ini.  

```
aws lambda add-permission --function-name "arn:aws:lambda:us-east-2:123456789012:function:my-function" --source-arn "arn:aws:execute-api:us-east-2:123456789012:api_id/*/HTTP_METHOD/resource" --principal apigateway.amazonaws.com --statement-id apigateway-access --action lambda:InvokeFunction
```

**Lulus informasi menggunakan templat pemetaan**  
Anda dapat mengakses variabel tahap dalam template pemetaan, atau meneruskan parameter konfigurasi ke backend AWS Lambda atau HTTP Anda. Misalnya, Anda mungkin ingin menggunakan kembali fungsi Lambda yang sama untuk beberapa tahap di API Anda, tetapi fungsi tersebut harus membaca data dari tabel Amazon DynamoDB yang berbeda tergantung pada tahapannya. Dalam template pemetaan yang menghasilkan permintaan untuk fungsi Lambda, Anda dapat menggunakan variabel tahap untuk meneruskan nama tabel ke Lambda.

Untuk menggunakan variabel tahap, pertama-tama Anda mengkonfigurasi variabel tahap, dan kemudian Anda menetapkannya nilai. Misalnya, untuk menyesuaikan titik akhir integrasi HTTP, pertama buat variabel `url` stage, lalu di permintaan integrasi API Anda, masukkan nilai variabel stage,**http://\$1\$1stageVariables.url\$1**. Nilai ini memberi tahu API Gateway untuk mengganti variabel stage Anda `${}` saat runtime, tergantung pada tahap mana API Anda berjalan. Untuk informasi selengkapnya, lihat [Siapkan variabel tahap untuk REST APIs di API Gateway](how-to-set-stage-variables-aws-console.md). 

# Siapkan variabel tahap untuk REST APIs di API Gateway
<a name="how-to-set-stage-variables-aws-console"></a>

Bagian ini menunjukkan cara menyiapkan berbagai variabel tahap untuk dua tahapan penerapan API sampel dengan menggunakan konsol Amazon API Gateway. Untuk memahami cara menggunakan variabel tahap di API Gateway, kami sarankan Anda mengikuti semua prosedur di bagian ini.

## Prasyarat
<a name="how-to-set-stage-variables-aws-console-prerequisites"></a>

Sebelum Anda mulai, pastikan prasyarat berikut terpenuhi: 
+ Anda harus memiliki API yang tersedia di API Gateway. Ikuti petunjuk dalam [Kembangkan REST APIs di API Gateway](rest-api-develop.md).
+ Anda harus telah menerapkan API setidaknya sekali. Ikuti petunjuk dalam [Menerapkan REST APIs di API Gateway](how-to-deploy-api.md).
+ Anda harus telah membuat tahap pertama untuk API yang diterapkan. Ikuti petunjuk dalam [Buat panggung baru](set-up-stages.md#how-to-create-stage-console).

  

## Memanggil titik akhir HTTP melalui API dengan variabel tahap
<a name="how-to-set-stage-variables-aws-console-http-endpoint"></a>

Prosedur ini menjelaskan cara membuat variabel tahap untuk titik akhir HTTP dan dua tahap untuk API Anda. Selain itu, Anda membuat variabel tahap,`url`,`stageName`, dan `function` yang digunakan dalam prosedur berikut di bagian ini.

**Untuk memanggil titik akhir HTTP melalui API dengan variabel tahap**

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Buat API, lalu buat `GET` metode pada sumber daya root API. Atur tipe integrasi ke **HTTP** dan atur **URL Endpoint** ke**http://\$1\$1stageVariables.url\$1**.

1. Menerapkan API ke tahap baru bernama**beta**. 

1. Di panel navigasi utama, pilih **Tahapan**, lalu pilih tahap **beta**. 

1. Pada tab **variabel Stage**, pilih **Edit**.

1. Pilih **Tambahkan variabel tahap**.

1. Untuk **Nama**, masukkan **url**. Untuk **nilai**, masukkan**httpbin.org/get**.

1. Pilih **Tambahkan variabel tahap**, dan kemudian lakukan hal berikut:

   Untuk **Nama**, masukkan **stageName**. Untuk **nilai**, masukkan**beta**.

1. Pilih **Tambahkan variabel tahap**, dan kemudian lakukan hal berikut:

   Untuk **Nama**, masukkan **function**. Untuk **nilai**, masukkan**HelloWorld**.

1. Pilih **Simpan**.

1.  Sekarang buat tahap kedua. Dari panel navigasi **Tahapan**, pilih **Buat tahap**. Untuk **nama Panggung**, masukkan**prod**. Pilih penerapan terbaru dari **Deployment**, lalu pilih **Create** stage.

1.  Seperti tahap **beta**, atur variabel tiga tahap yang sama (**url**, **stageName**, dan **fungsi**) ke nilai yang berbeda (**petstore-demo-endpoint.execute-api.com/petstore/pets**,, dan**HelloEveryone**)**prod**, masing-masing. 

1. Di panel navigasi **Tahapan**, pilih **beta**. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di browser web. Ini memulai `GET` permintaan tahap **beta** pada sumber daya root API. 
**catatan**  
Tautan **URL Invoke** menunjuk ke sumber daya root API dalam tahap **beta**. Memasukkan URL di browser web memanggil `GET` metode tahap **beta** pada sumber daya root. Jika metode didefinisikan pada sumber daya anak dan bukan pada sumber daya root itu sendiri, memasukkan URL di browser web mengembalikan respons `{"message":"Missing Authentication Token"}` kesalahan. Dalam hal ini, Anda harus menambahkan nama sumber daya anak tertentu **ke tautan URL Panggilan**. 

1. Respons yang Anda dapatkan dari `GET` permintaan tahap **beta** ditampilkan berikutnya. Anda juga dapat memverifikasi hasilnya dengan menggunakan browser untuk menavigasi ke **http://httpbin.org/get**. Nilai ini ditetapkan ke `url` variabel dalam tahap **beta**. Kedua tanggapan itu identik. 

1. Di panel navigasi **Tahapan**, pilih tahap **prod**. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di browser web. Ini memulai `GET` permintaan tahap **prod** pada sumber daya root API. 

1. Respons yang Anda dapatkan dari `GET` permintaan tahap **prod** ditampilkan berikutnya. Anda dapat memverifikasi hasilnya dengan menggunakan browser untuk menavigasi ke **http://petstore-demo-endpoint.execute-api. com/petstore/pets**. Nilai ini ditetapkan ke `url` variabel dalam tahap **prod**. Kedua tanggapan itu identik. 

## Lulus metadata khusus tahap ke backend HTTP
<a name="how-to-set-stage-variables-aws-console-stage-metadata"></a>

Prosedur ini menjelaskan cara menggunakan nilai variabel tahap dalam ekspresi parameter kueri untuk meneruskan metadata spesifik tahap ke backend HTTP. Kami akan menggunakan variabel `stageName` tahap yang dinyatakan dalam prosedur sebelumnya.

**Untuk meneruskan metadata khusus tahap ke backend HTTP**

1. Di panel navigasi **Resource**, pilih metode **GET**. 

   Untuk menambahkan parameter string kueri ke URL metode, pilih tab **Permintaan metode**, lalu di bagian **Pengaturan permintaan metode**, pilih **Edit**. 

1. Pilih **parameter string kueri URL** dan lakukan hal berikut:

   1. Pilih **Tambahkan string kueri**.

   1. Untuk **Nama**, masukkan **stageName**.

   1. Tetap **Diperlukan** dan **Caching** dimatikan.

1. Pilih **Simpan**.

1. Pilih tab **Permintaan integrasi**, dan kemudian di bagian **Pengaturan permintaan integrasi**, pilih **Edit**.

1. Untuk **URL Endpoint**, tambahkan **?stageName=\$1\$1stageVariables.stageName\$1** ke nilai URL yang ditentukan sebelumnya, sehingga seluruh URL **Endpoint** adalah. **http://\$1\$1stageVariables.url\$1?stageName=\$1\$1stageVariables.stageName\$1**

1. Pilih **Deploy API** dan pilih tahap **beta**.

1. Di panel navigasi utama, pilih **Tahapan**. Di panel navigasi **Tahapan**, pilih **beta**. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di browser web. 
**catatan**  
 Kami menggunakan tahap beta di sini karena titik akhir HTTP (seperti yang ditentukan oleh `url` variabel "http://httpbin.org/get “) menerima ekspresi parameter kueri dan mengembalikannya sebagai `args` objek dalam responsnya. 

1. Anda mendapatkan tanggapan berikut. Perhatikan bahwa`beta`, ditugaskan ke variabel `stageName` tahap, diteruskan di backend sebagai argumen. `stageName` 

      
![\[Respon dari metode GET API dengan titik akhir HTTP menggunakan variabel tahap url.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/stageVariables-new-console-invoke-beta-stage-with-url-and-stageName-response.png)

## Memanggil fungsi Lambda melalui API dengan variabel panggung
<a name="how-to-set-stage-variables-aws-console-lambda-function"></a>

Prosedur ini menjelaskan cara menggunakan variabel stage untuk memanggil fungsi Lambda sebagai backend API Anda. Anda menggunakan variabel `function` tahap yang dideklarasikan dalam[Memanggil titik akhir HTTP melalui API dengan variabel tahap](#how-to-set-stage-variables-aws-console-http-endpoint).

 Saat menyetel fungsi Lambda sebagai nilai variabel tahap, gunakan nama lokal fungsi, mungkin termasuk alias atau spesifikasi versinya, seperti dalam**HelloWorld**, atau. **HelloWorld:1** **HelloWorld:alpha** Jangan gunakan ARN fungsi (misalnya,**arn:aws:lambda:us-east-1:123456789012:function:HelloWorld**). Konsol API Gateway mengasumsikan nilai variabel stage untuk fungsi Lambda sebagai nama fungsi yang tidak memenuhi syarat dan memperluas variabel tahap yang diberikan menjadi ARN. 

**Untuk menjalankan fungsi Lambda melalui API dengan variabel stage**

1. Buat fungsi Lambda bernama **HelloWorld** menggunakan runtime Node.js default. Kode harus berisi yang berikut:

   ```
   export const handler = function(event, context, callback) {
       if (event.stageName)
           callback(null, 'Hello, World! I\'m calling from the ' + event.stageName + ' stage.');
       else
           callback(null, 'Hello, World! I\'m not sure where I\'m calling from...');
   };
   ```

   Untuk informasi selengkapnya tentang cara membuat fungsi Lambda, lihat [Memulai konsol REST API](getting-started-rest-new-console.md#getting-started-rest-new-console-create-function).

1. Di panel **Resources**, pilih **Buat sumber daya**, lalu lakukan hal berikut:

   1. Untuk **jalur Sumber Daya**, pilih**/**.

   1. Untuk **Nama sumber daya**, masukkan **lambdav1**.

   1. Pilih **Buat sumber daya**.

1. **Pilih sumber daya **/lambdav1**, lalu pilih Create method.**

   Kemudian, lakukan hal berikut:

   1. Untuk **tipe Metode**, pilih **GET**.

   1. Untuk **jenis Integrasi**, pilih fungsi **Lambda**.

   1. Matikan **integrasi proxy Lambda**.

   1. Untuk **fungsi Lambda, masukkan**. `${stageVariables.function}`  
![\[Buat GET metode yang terintegrasi dengan fungsi Lambda seperti yang ditentukan oleh variabel function tahap.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/stageVariables-new-console-create-lambda-get-method.png)
**Tip**  
Saat diminta dengan perintah **Tambah izin, salin perintah** [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html). Jalankan perintah pada setiap fungsi Lambda yang akan ditugaskan ke variabel `function` panggung. Misalnya, jika `$stageVariables.function` nilainya`HelloWorld`, jalankan AWS CLI perintah berikut:   

      ```
      aws lambda add-permission --function-name arn:aws:lambda:us-east-1:account-id:function:HelloWorld --source-arn arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/lambdav1 --principal apigateway.amazonaws.com --statement-id statement-id-guid --action lambda:InvokeFunction
      ```
 Gagal melakukannya menghasilkan `500 Internal Server Error` respons saat menjalankan metode. Ganti `${stageVariables.function}` dengan nama fungsi Lambda yang ditetapkan ke variabel stage.   
   

![\[AWS CLI perintah untuk menambahkan izin ke fungsi Lambda yang akan dipanggil oleh metode yang Anda buat.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/stageVariables-new-console-add-permission-to-lambda-function.png)


   1. Pilih **metode Buat**.

1. Terapkan API ke tahap **prod** dan **beta**.

1. Di panel navigasi utama, pilih **Tahapan**. Di panel navigasi **Tahapan**, pilih **beta**. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di browser web. Tambahkan **/lambdav1** ke URL sebelum Anda menekan enter.

   Anda mendapatkan tanggapan berikut.

   ```
   "Hello, World! I'm not sure where I'm calling from..."
   ```

## Lewati metadata spesifik tahap ke fungsi Lambda melalui variabel panggung
<a name="pass-version-info-to-lambda-backend-with-stage-variable"></a>

Prosedur ini menjelaskan cara menggunakan variabel tahap untuk meneruskan metadata konfigurasi spesifik tahap ke dalam fungsi Lambda. Anda membuat `POST` metode dan template pemetaan masukan untuk menghasilkan payload menggunakan variabel `stageName` stage yang Anda deklarasikan sebelumnya.

**Untuk meneruskan metadata spesifik tahap ke fungsi Lambda melalui variabel tahap**

1. **Pilih sumber daya **/lambdav1**, lalu pilih Create method.**

   Kemudian, lakukan hal berikut:

   1. Untuk **jenis Metode**, pilih **POST**.

   1. Untuk **jenis Integrasi**, pilih fungsi **Lambda**.

   1. Matikan **integrasi proxy Lambda**.

   1. Untuk **fungsi Lambda, masukkan**. `${stageVariables.function}`

   1. Saat diminta dengan perintah **Tambah izin, salin perintah** [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html). Jalankan perintah pada setiap fungsi Lambda yang akan ditugaskan ke variabel `function` panggung.

   1. Pilih **metode Buat**.

1. Pilih tab **Permintaan integrasi**, dan kemudian di bagian **Pengaturan permintaan integrasi**, pilih **Edit**.

1. Pilih **Templat pemetaan**, lalu pilih **Tambahkan templat pemetaan**.

1. Untuk **jenis Konten**, masukkan**application/json**.

1. Untuk **badan Template**, masukkan template berikut:

   ```
   #set($inputRoot = $input.path('$'))
   {
       "stageName" : "$stageVariables.stageName"
   }
   ```
**catatan**  
 Dalam template pemetaan, variabel tahap harus direferensikan dalam tanda kutip (seperti dalam `"$stageVariables.stageName"` atau`"${stageVariables.stageName}"`). Di tempat lain, itu harus direferensikan tanpa tanda kutip (seperti dalam`${stageVariables.function}`). 

1. Pilih **Simpan**.

1. Terapkan API ke **tahap beta** dan **prod**.

1. Untuk menggunakan klien REST API untuk meneruskan metadata khusus tahap, lakukan hal berikut:

   1. Di panel navigasi **Tahapan**, pilih **beta**. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di bidang input klien REST API. Tambahkan **/lambdav1** sebelum Anda mengirimkan permintaan Anda.

      Anda mendapatkan tanggapan berikut.

      ```
      "Hello, World! I'm calling from the beta stage."
      ```

   1. Di panel navigasi **Tahapan**, pilih **prod**. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda, lalu masukkan URL pemanggilan API Anda di bidang input klien REST API. Tambahkan **/lambdav1** sebelum Anda mengirimkan permintaan Anda.

      Anda mendapatkan tanggapan berikut.

      ```
      "Hello, World! I'm calling from the prod stage."
      ```

1. Untuk menggunakan fitur **Uji** untuk meneruskan metadata khusus tahapan, lakukan hal berikut:

   1. Di panel navigasi **Sumber daya**, pilih tab **Uji**. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

   1. Untuk **fungsi**, masukkan**HelloWorld**.

   1. Untuk **StageName, masukkan**. **beta**

   1. Pilih **Uji**. Anda tidak perlu menambahkan badan ke `POST` permintaan Anda.

      Anda mendapatkan tanggapan berikut.

      ```
      "Hello, World! I'm calling from the beta stage."
      ```

   1. Anda dapat mengulangi langkah-langkah sebelumnya untuk menguji tahap **Prod**. Untuk **StageName, masukkan**. **Prod**

      Anda mendapatkan tanggapan berikut.

      ```
      "Hello, World! I'm calling from the prod stage."
      ```

# Referensi variabel tahap API Gateway untuk REST APIs di API Gateway
<a name="aws-api-gateway-stage-variables-reference"></a>

 Anda dapat menggunakan variabel tahap API Gateway dalam kasus berikut.

## Ekspresi pemetaan parameter
<a name="stage-variables-in-parameter-mapping-expressions"></a>

Variabel tahap dapat digunakan dalam ekspresi pemetaan parameter untuk permintaan metode API atau parameter header respons, tanpa substitusi sebagian. Dalam contoh berikut, variabel tahap direferensikan tanpa `$` dan `{...}` melampirkan. 
+ `stageVariables.<variable_name>`

## Templat pemetaan
<a name="stage-variables-in-mapping-templates"></a>

 Variabel tahap dapat digunakan di mana saja dalam template pemetaan, seperti yang ditunjukkan pada contoh berikut. 
+  `{ "name" : "$stageVariables.<variable_name>"}`
+ `{ "name" : "${stageVariables.<variable_name>}"}`

## Integrasi HTTP URIs
<a name="stage-variables-in-integration-HTTP-uris"></a>

Variabel tahap dapat digunakan sebagai bagian dari URL integrasi HTTP, seperti yang ditunjukkan pada contoh berikut:
+ URI lengkap tanpa protokol — `http://${stageVariables.<variable_name>}`
+ Domain lengkap — `http://${stageVariables.<variable_name>}/resource/operation`
+ Sebuah subdomain — `http://${stageVariables.<variable_name>}.example.com/resource/operation`
+ Sebuah jalan — `http://example.com/${stageVariables.<variable_name>}/bar`
+ Sebuah string kueri - `http://example.com/foo?q=${stageVariables.<variable_name>}` 

## AWS integrasi URIs
<a name="stage-variables-in-integration-aws-uris"></a>

 Variabel tahap dapat digunakan sebagai bagian dari tindakan AWS URI atau komponen jalur, seperti yang ditunjukkan pada contoh berikut.
+ `arn:aws:apigateway:<region>:<service>:${stageVariables.<variable_name>}`

## AWS integrasi URIs (fungsi Lambda)
<a name="stage-variables-in-integration-lambda-functions"></a>

 Variabel tahap dapat digunakan sebagai pengganti nama fungsi Lambda, atau versi/alias, seperti yang ditunjukkan pada contoh berikut. 
+ `arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:${stageVariables.<function_variable_name>}/invocations`
+ `arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:<function_name>:${stageVariables.<version_variable_name>}/invocations`

**catatan**  
Untuk menggunakan variabel stage untuk fungsi Lambda, fungsi harus berada di akun yang sama dengan API. Variabel tahap tidak mendukung fungsi Lambda lintas akun.

## Kumpulan pengguna Amazon Cognito
<a name="stage-variables-in-integration-lambda-functions"></a>

Variabel tahap dapat digunakan sebagai pengganti kumpulan pengguna Amazon Cognito untuk otorisasi. `COGNITO_USER_POOLS`
+ `arn:aws:cognito-idp:<region>:<account_id>:userpool/${stageVariables.<variable_name>}`

## AWS kredensi integrasi
<a name="stage-variables-in-integration-aws-credentials"></a>

 Variabel tahap dapat digunakan sebagai bagian dari ARN kredensi AWS pengguna/peran, seperti yang ditunjukkan pada contoh berikut. 
+  `arn:aws:iam::<account_id>:${stageVariables.<variable_name>}` 

# Siapkan penerapan rilis kenari API Gateway
<a name="canary-release"></a>

[Rilis Canary](https://martinfowler.com/bliki/CanaryRelease.html) adalah strategi pengembangan perangkat lunak di mana versi baru API (serta perangkat lunak lainnya) digunakan untuk tujuan pengujian, dan versi dasar tetap digunakan sebagai rilis produksi untuk operasi normal pada tahap yang sama. Untuk tujuan diskusi, kami merujuk ke versi dasar sebagai rilis produksi dalam dokumentasi ini. Meskipun ini masuk akal, Anda bebas menerapkan rilis kenari pada versi non-produksi apa pun untuk pengujian.

Dalam penerapan rilis kenari, total lalu lintas API dipisahkan secara acak menjadi rilis produksi dan rilis kenari dengan rasio yang telah dikonfigurasi sebelumnya. Biasanya, rilis kenari menerima sebagian kecil lalu lintas API dan rilis produksi memakan sisanya. Fitur API yang diperbarui hanya dapat dilihat oleh lalu lintas API melalui canary. Anda dapat menyesuaikan persentase lalu lintas kenari untuk mengoptimalkan cakupan atau kinerja pengujian. 

Dengan menjaga lalu lintas kenari kecil dan pemilihan acak, sebagian besar pengguna tidak terpengaruh setiap saat oleh potensi bug di versi baru, dan tidak ada satu pengguna pun yang terpengaruh sepanjang waktu.

Setelah metrik pengujian memenuhi persyaratan Anda, Anda dapat mempromosikan rilis kenari ke rilis produksi dan menonaktifkan kenari dari penerapan. Ini membuat fitur-fitur baru tersedia dalam tahap produksi. 

**Topics**
+ [Penerapan rilis Canary di API Gateway](#api-gateway-canary-release-deployment-overview)
+ [Buat penerapan rilis kenari](create-canary-deployment.md)
+ [Perbarui rilis kenari](update-canary-deployment.md)
+ [Promosikan pelepasan kenari](promote-canary-deployment.md)
+ [Matikan pelepasan kenari](delete-canary-deployment.md)

## Penerapan rilis Canary di API Gateway
<a name="api-gateway-canary-release-deployment-overview"></a>

 Di API Gateway, penerapan rilis kenari menggunakan tahap penerapan untuk rilis produksi versi dasar API, dan melampirkan ke tahap rilis kenari untuk versi baru, relatif terhadap versi dasar, API. Tahap ini dikaitkan dengan penyebaran awal dan kenari dengan penyebaran berikutnya. Pada awalnya, baik stage maupun canary menunjuk ke versi API yang sama. Kami menggunakan rilis panggung dan produksi secara bergantian dan menggunakan pelepasan kenari dan kenari secara bergantian di seluruh bagian ini.

[Untuk menerapkan API dengan rilis kenari, Anda membuat penerapan rilis kenari dengan menambahkan [pengaturan kenari](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings) ke [tahap](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html) penerapan reguler.](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html) Pengaturan kenari menjelaskan rilis kenari yang mendasarinya dan tahapannya mewakili rilis produksi API dalam penerapan ini. Untuk menambahkan pengaturan kenari, atur `canarySettings` pada tahap penerapan dan tentukan yang berikut ini: 
+  ID penerapan, awalnya identik dengan ID penerapan versi dasar yang ditetapkan di panggung. 
+  [Persentase lalu lintas API](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#percentTraffic), antara 0,0 dan 100,0 inklusif, untuk rilis kenari. 
+  [Variabel tahap untuk rilis kenari](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#stageVariableOverrides) yang dapat mengganti variabel tahap rilis produksi. 
+  [Penggunaan cache panggung](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#useStageCache) untuk permintaan kenari, jika [useStageCache](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#useStageCache)disetel dan caching API diaktifkan di atas panggung.

 Setelah rilis kenari diaktifkan, tahap penerapan tidak dapat dikaitkan dengan penerapan rilis non-kenari lainnya hingga rilis kenari dinonaktifkan dan pengaturan kenari dihapus dari panggung. 

Saat Anda mengaktifkan logging eksekusi API, rilis canary memiliki log dan metriknya sendiri yang dihasilkan untuk semua permintaan canary. Mereka dilaporkan ke grup CloudWatch log Log tahap produksi serta grup log CloudWatch Log khusus kenari. Hal yang sama berlaku untuk mengakses logging. Log khusus kenari yang terpisah sangat membantu untuk memvalidasi perubahan API baru dan memutuskan apakah akan menerima perubahan dan mempromosikan rilis kenari ke tahap produksi, atau untuk membuang perubahan dan mengembalikan rilis kenari dari tahap produksi.

Grup log eksekusi tahap produksi diberi nama `API-Gateway-Execution-Logs/{rest-api-id}/{stage-name}` dan grup log eksekusi rilis kenari diberi nama`API-Gateway-Execution-Logs/{rest-api-id}/{stage-name}/Canary`. Untuk akses logging, Anda harus membuat grup log baru atau memilih yang sudah ada. Nama grup log akses rilis kenari memiliki `/Canary` akhiran yang ditambahkan ke nama grup log yang dipilih. 

Rilis kenari dapat menggunakan cache panggung, jika diaktifkan, untuk menyimpan respons dan menggunakan entri yang di-cache untuk mengembalikan hasil ke permintaan kenari berikutnya, dalam periode pra-konfigurasi time-to-live (TTL). 

Dalam penerapan rilis kenari, rilis produksi dan rilis canary API dapat dikaitkan dengan versi yang sama atau dengan versi yang berbeda. Ketika mereka dikaitkan dengan versi yang berbeda, respons untuk permintaan produksi dan kenari di-cache secara terpisah dan cache tahap mengembalikan hasil yang sesuai untuk permintaan produksi dan kenari. Ketika rilis produksi dan rilis kenari dikaitkan dengan penerapan yang sama, cache tahap menggunakan kunci cache tunggal untuk kedua jenis permintaan dan mengembalikan respons yang sama untuk permintaan yang sama dari rilis produksi dan rilis kenari. 

# Buat penerapan rilis kenari
<a name="create-canary-deployment"></a>

[Anda membuat penerapan rilis kenari saat menerapkan API dengan [pengaturan canary](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateDeployment.html#canarySettings) sebagai input tambahan untuk operasi pembuatan penerapan.](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateDeployment.html) 

Anda juga dapat membuat penerapan rilis kenari dari penerapan non-canary yang ada dengan membuat [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html)permintaan untuk menambahkan pengaturan kenari di panggung.

Saat membuat penyebaran rilis non-canary, Anda dapat menentukan nama panggung yang tidak ada. API Gateway membuat satu jika tahap yang ditentukan tidak ada. Namun, Anda tidak dapat menentukan nama panggung yang tidak ada saat membuat penerapan rilis kenari. Anda akan mendapatkan kesalahan dan API Gateway tidak akan membuat penerapan rilis kenari apa pun. 

 Anda dapat membuat penerapan rilis canary di API Gateway menggunakan konsol API Gateway, the AWS CLI, atau SDK. AWS 

**Topics**
+ [Buat penerapan canary menggunakan konsol API Gateway](#create-canary-deployment-using-console)
+ [Buat penerapan kenari menggunakan AWS CLI](#create-canary-deployment-using-cli)

## Buat penerapan canary menggunakan konsol API Gateway
<a name="create-canary-deployment-using-console"></a>

Untuk menggunakan konsol API Gateway untuk membuat penerapan rilis canary, ikuti petunjuk di bawah ini:<a name="to-create-canary-release-on-new-deployment"></a>

**Untuk membuat penerapan rilis kenari awal**

1.  Masuk ke konsol API Gateway.

1.  Pilih REST API yang ada atau buat REST API baru.

1.  Di panel navigasi utama, pilih **Resources**, lalu pilih **Deploy API**. Ikuti petunjuk di layar di **Deploy API** untuk menerapkan API ke tahap baru. 

   Sejauh ini, Anda telah menerapkan API ke tahap rilis produksi. Selanjutnya, Anda mengonfigurasi pengaturan kenari di panggung dan, jika perlu, juga mengaktifkan caching, mengatur variabel tahap, atau mengonfigurasi eksekusi API atau log akses.

1.  **Untuk mengaktifkan caching API atau mengaitkan ACL AWS WAF web dengan stage, di bagian **Detail tahap**, pilih Edit.** Untuk informasi selengkapnya, lihat [Pengaturan cache untuk REST APIs di API Gateway](api-gateway-caching.md) atau [Untuk mengaitkan ACL AWS WAF web dengan tahap API Gateway API menggunakan konsol API Gateway](apigateway-control-access-aws-waf.md#apigateway-control-access-aws-waf-console).

1.  Untuk mengonfigurasi eksekusi atau mengakses logging, di bagian **Log dan penelusuran**, pilih **Edit** dan ikuti petunjuk di layar. Untuk informasi selengkapnya, lihat [Siapkan CloudWatch logging untuk REST APIs di API Gateway](set-up-logging.md).

1. Untuk mengatur variabel tahap, pilih tab **variabel Tahap** dan ikuti petunjuk di layar untuk menambah atau memodifikasi variabel tahap. Untuk informasi selengkapnya, lihat [Menggunakan variabel stage untuk REST API di API Gateway](stage-variables.md).

1.  Pilih tab **Canary**, lalu pilih **Create canary**. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab **Canary**.

1.  Di bawah **pengaturan Canary**, untuk **Canary**, masukkan persentase permintaan yang akan dialihkan ke kenari.

1. Jika diinginkan, pilih **Cache tahap** untuk mengaktifkan caching untuk rilis kenari. Cache tidak tersedia untuk rilis canary sampai caching API diaktifkan.

1. Untuk mengganti variabel tahap yang ada, untuk **penggantian Canary**, masukkan nilai variabel tahap baru.

Setelah rilis canary diinisialisasi pada tahap penerapan, Anda mengubah API dan ingin menguji perubahannya. Anda dapat menerapkan ulang API ke tahap yang sama sehingga versi yang diperbarui dan versi dasar dapat diakses melalui tahap yang sama. Langkah-langkah berikut menjelaskan cara melakukannya. <a name="to-deploy-latest-api-to-canary-release"></a>

**Untuk menerapkan versi API terbaru ke kenari**

1.  Dengan setiap pembaruan API, pilih **Deploy API**.

1.  Di **Deploy API**, pilih tahap yang berisi kenari dari daftar dropdown **tahap Deployment**. 

1.  (Opsional) Masukkan deskripsi untuk deskripsi **Deployment**. 

1.  Pilih **Deploy** untuk mendorong versi API terbaru ke rilis canary.

1.  Jika diinginkan, konfigurasikan ulang pengaturan panggung, log, atau pengaturan kenari, seperti yang dijelaskan dalam. [Untuk membuat penerapan rilis kenari awal](#to-create-canary-release-on-new-deployment)

 Akibatnya, rilis kenari menunjuk ke versi terbaru sementara rilis produksi masih menunjuk ke versi awal API. [https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings) [https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#deploymentId](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#deploymentId) Di belakang layar, konsol memanggil [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html).

## Buat penerapan kenari menggunakan AWS CLI
<a name="create-canary-deployment-using-cli"></a>

**Untuk membuat penyebaran kenari untuk tahap baru**

1. Gunakan perintah [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) berikut untuk membuat deployment dengan dua variabel tahap, tetapi tanpa canary:

   ```
   aws apigateway create-deployment \
       --variables sv0=val0,sv1=val1 \
       --rest-api-id abcd1234 \
       --stage-name 'prod'
   ```

   Outputnya akan terlihat seperti berikut:

   ```
   {
       "id": "du4ot1", 
       "createdDate": 1511379050
   }
   ```

1. Gunakan perintah [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) berikut untuk membuat penyebaran kenari di panggung: `prod`

   ```
   aws apigateway create-deployment \
       --rest-api-id abcd1234 \
       --canary-settings percentTraffic=10.5,stageVariableOverrides={sv1='val2',sv2='val3'},useStageCache=false \
       --stage-name 'prod'
   ```

   Outputnya akan terlihat seperti berikut:

   ```
   {
       "id": "a6rox0", 
       "createdDate": 1511379433
   }
   ```

   Penerapan yang dihasilkan `id` mengidentifikasi versi uji API untuk rilis canary. Akibatnya, tahap terkait diaktifkan kenari.

1. (Opsional) Gunakan perintah [get-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-stage.html) berikut untuk melihat representasi tahap:

   ```
   aws apigateway get-stage --rest-api-id acbd1234 --stage-name prod
   ```

   Berikut ini menunjukkan representasi dari `Stage` sebagai output dari perintah:

   ```
   {
       "stageName": "prod", 
       "variables": {
           "sv0": "val0", 
           "sv1": "val1"
       }, 
       "cacheClusterEnabled": false, 
       "cacheClusterStatus": "NOT_AVAILABLE", 
       "deploymentId": "du4ot1", 
       "lastUpdatedDate": 1511379433, 
       "createdDate": 1511379050, 
       "canarySettings": {
           "percentTraffic": 10.5, 
           "deploymentId": "a6rox0", 
           "useStageCache": false, 
           "stageVariableOverrides": {
               "sv2": "val3", 
               "sv1": "val2"
           }
       }, 
       "methodSettings": {}
   }
   ```

   Dalam contoh ini, versi dasar API akan menggunakan variabel tahap`{"sv0":val0", "sv1":val1"}`, sedangkan versi pengujian menggunakan variabel tahap`{"sv1":val2", "sv2":val3"}`. Baik rilis produksi dan rilis kenari menggunakan variabel tahap yang sama`sv1`, tetapi dengan nilai yang berbeda, `val1` dan`val2`, masing-masing. Variabel tahap `sv0` digunakan hanya dalam rilis produksi dan variabel tahap `sv2` digunakan dalam rilis kenari saja. 

Anda juga dapat membuat penerapan rilis kenari dari penerapan reguler yang ada dengan memperbarui tahapan untuk mengaktifkan kenari.

**Untuk membuat penerapan rilis kenari dari penerapan yang ada**

1. Gunakan perintah [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) untuk membuat deployment tanpa canary:

   ```
   aws apigateway create-deployment \
       --variables sv0=val0,sv1=val1 \  
       --rest-api-id abcd1234 \
       --stage-name 'beta'
   ```

1. Gunakan perintah [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) untuk memperbarui stage untuk mengaktifkan kenari:

   ```
   aws apigateway update-stage \
       --rest-api-id abcd1234 \
       --stage-name 'beta' \
       --patch-operations '[{
               "op": "replace",
               "value": "0.0",
               "path": "/canarySettings/percentTraffic"
           }, {
               "op": "copy",
               "from": "/canarySettings/stageVariableOverrides",
               "path": "/variables"
           }, {
               "op": "copy",
               "from": "/canarySettings/deploymentId",
               "path": "/deploymentId"
           }]'
   ```

   Outputnya akan terlihat seperti berikut:

   ```
   {
       "stageName": "beta", 
       "variables": {
           "sv0": "val0", 
           "sv1": "val1"
       }, 
       "cacheClusterEnabled": false, 
       "cacheClusterStatus": "NOT_AVAILABLE", 
       "deploymentId": "cifeiw", 
       "lastUpdatedDate": 1511381930, 
       "createdDate": 1511380879, 
       "canarySettings": {
           "percentTraffic": 10.5, 
           "deploymentId": "cifeiw", 
           "useStageCache": false, 
           "stageVariableOverrides": {
               "sv2": "val3", 
               "sv1": "val2"
           }
       }, 
       "methodSettings": {}
   }
   ```

   Karena Anda mengaktifkan canary pada versi API yang ada, baik production release (`Stage`) dan canary release (`canarySettings`) mengarah ke penerapan yang sama. Setelah Anda mengubah API dan menerapkannya ke tahap ini lagi, versi baru akan berada di rilis canary, sementara versi dasar tetap dalam rilis produksi. Ini dimanifestasikan dalam evolusi tahap ketika rilis `deploymentId` dalam kenari diperbarui ke penerapan baru `id` dan rilis produksi tetap tidak berubah. `deploymentId`

# Perbarui rilis kenari
<a name="update-canary-deployment"></a>

 Setelah rilis kenari diterapkan, Anda mungkin ingin menyesuaikan persentase lalu lintas kenari atau mengaktifkan atau menonaktifkan penggunaan cache panggung untuk mengoptimalkan kinerja pengujian. Anda juga dapat memodifikasi variabel tahap yang digunakan dalam rilis kenari saat konteks eksekusi diperbarui. [Untuk melakukan pembaruan seperti itu, panggil operasi [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html) dengan nilai baru di CanarySettings.](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings) 

Anda dapat memperbarui rilis canary menggunakan konsol API Gateway, perintah AWS CLI [tahap pembaruan, atau SDK](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html). AWS 

**Topics**
+ [Memperbarui rilis kenari menggunakan konsol API Gateway](#update-canary-deployment-using-console)
+ [Perbarui rilis kenari menggunakan AWS CLI](#update-canary-deployment-using-cli)

## Memperbarui rilis kenari menggunakan konsol API Gateway
<a name="update-canary-deployment-using-console"></a>

Untuk menggunakan konsol API Gateway untuk memperbarui setelan canary yang ada di panggung, lakukan hal berikut:

**Untuk memperbarui pengaturan kenari yang ada**

1.  Masuk ke konsol API Gateway dan pilih REST API yang ada.

1.  Di panel navigasi utama, pilih **Tahapan**, lalu pilih tahap yang ada.

1.  Pilih tab **Canary**, lalu pilih **Edit**. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab **Canary**. 

1.  Perbarui **distribusi Permintaan** dengan menambah atau mengurangi jumlah persentase antara 0,0 dan 100,0, inklusif. 

1.  Pilih atau hapus **Stage cache** kotak centang. 

1.  Menambahkan, menghapus, atau memodifikasi **variabel tahap Canary**.

1.  Pilih **Simpan**.

## Perbarui rilis kenari menggunakan AWS CLI
<a name="update-canary-deployment-using-cli"></a>

Untuk menggunakan AWS CLI untuk memperbarui kenari, gunakan [https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html)perintah dan modifikasi operasi tambalan untuk setiap parameter kenari.

Perintah [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) berikut diperbarui jika kenari menggunakan cache panggung:

```
aws apigateway update-stage \
    --rest-api-id {rest-api-id} \
    --stage-name '{stage-name}' \
    --patch-operations op=replace,path=/canarySettings/useStageCache,value=true
```

Perintah [tahap pembaruan berikut memperbarui](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) persentase lalu lintas kenari:

```
aws apigateway update-stage \
    --rest-api-id {rest-api-id} \
    --stage-name '{stage-name}' \
    --patch-operations op=replace,path=/canarySettings/percentTraffic,value=25.0
```

[Pembaruan-tahap berikut memperbarui variabel tahap tahap](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html). Contoh ini menunjukkan cara membuat variabel stage baru bernama`newVar`, mengganti variabel `var2` stage, dan menghapus variabel `var1` stage:

```
aws apigateway update-stage  \
    --rest-api-id {rest-api-id} \
    --stage-name '{stage-name}'  \
    --patch-operations '[{                                      
        "op": "replace",                                        
        "path": "/canarySettings/stageVariableOverrides/newVar", 
        "value": "newVal"                                      
      }, { 
        "op": "replace",                                        
        "path": "/canarySettings/stageVariableOverrides/var2",   
        "value": "val4"                                        
      }, {                                                      
        "op": "remove",                                         
        "path": "/canarySettings/stageVariableOverrides/var1"    
      }]'
```

Anda dapat memperbarui semua hal di atas dengan menggabungkan operasi menjadi satu `patch-operations` nilai:

```
aws apigateway update-stage  \
    --rest-api-id {rest-api-id} \
    --stage-name '{stage-name}' \
    --patch-operations '[{                                       
        "op": "replace",                                         
        "path": "/canarySettings/percentTraffic",                        
        "value": "20.0"                                          
    }, {                                                         
        "op": "replace",                                         
        "path": "/canarySettings/useStageCache",                        
        "value": "true"                                          
    }, {                                                         
        "op": "remove",                                          
        "path": "/canarySettings/stageVariableOverrides/var1"    
    }, {                                                         
        "op": "replace",                                         
        "path": "/canarySettings/stageVariableOverrides/newVar", 
        "value": "newVal"                                        
    }, {                                                         
        "op": "replace",                                         
        "path": "/canarySettings/stageVariableOverrides/val2",   
        "value": "val4"                                          
      }]'
```



# Promosikan pelepasan kenari
<a name="promote-canary-deployment"></a>

Saat Anda mempromosikan rilis kenari, rilis kenari menggantikan pengaturan tahap saat ini. Mempromosikan pelepasan kenari tidak menonaktifkan kenari di atas panggung. Untuk menonaktifkan kenari, Anda harus menghapus pengaturan kenari di atas panggung. Untuk mempromosikan kenari, lakukan hal berikut.
+ Setel ulang [ID penyebaran](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#deploymentId) panggung dengan pengaturan [ID penerapan](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings) kenari. Ini memperbarui snapshot API panggung dengan snapshot kenari, menjadikan versi uji sebagai rilis produksi juga.
+ Perbarui variabel tahap dengan variabel tahap kenari, jika ada. Ini memperbarui konteks eksekusi API panggung dengan konteks kenari. Tanpa pembaruan ini, versi API baru dapat menghasilkan hasil yang tidak terduga jika versi pengujian menggunakan variabel tahap yang berbeda atau nilai berbeda dari variabel tahap yang ada.
+ Atur persentase lalu lintas kenari menjadi 0,0%.

**Topics**
+ [Promosikan rilis kenari menggunakan konsol API Gateway](#promote-canary-release-deployment-console)
+ [Promosikan pelepasan kenari menggunakan AWS CLI](#promote-canary-release-cli)

## Promosikan rilis kenari menggunakan konsol API Gateway
<a name="promote-canary-release-deployment-console"></a>

Untuk menggunakan konsol API Gateway untuk mempromosikan penerapan rilis canary, lakukan hal berikut:

**Untuk mempromosikan penyebaran rilis kenari**

1.  Masuk ke konsol API Gateway dan pilih API yang ada di panel navigasi utama.

1.  Di panel navigasi utama, pilih **Tahapan**, lalu pilih tahap yang ada.

1.  Pilih tab **Canary**.

1.  Pilih **Promosikan kenari.**

1.  Konfirmasikan perubahan yang akan dilakukan dan pilih **Promosikan kenari.**

Setelah promosi, rilis produksi mereferensikan versi API yang sama (**deploymentID**) dengan rilis canary. Anda dapat memverifikasi ini menggunakan AWS CLI. Sebagai contoh, lihat [Promosikan pelepasan kenari menggunakan AWS CLI](#promote-canary-release-cli). 

## Promosikan pelepasan kenari menggunakan AWS CLI
<a name="promote-canary-release-cli"></a>

Untuk mempromosikan rilis kenari ke rilis produksi menggunakan AWS CLI perintah, panggil `update-stage` perintah untuk menyalin kenari yang terkait dengan tahap terkait, `deploymentId` untuk mengatur ulang persentase lalu lintas kenari ke nol (`0.0`)`deploymentId`, dan, untuk menyalin variabel tahap terikat kenari ke yang terikat tahap yang sesuai. 

Misalkan kita memiliki penyebaran rilis kenari, dijelaskan oleh tahap yang mirip dengan yang berikut ini: 

```
{
    "_links": {
        ...
    },
    "accessLogSettings": {
        ...
    },
    "cacheClusterEnabled": false,
    "cacheClusterStatus": "NOT_AVAILABLE",
    "canarySettings": {
        "deploymentId": "eh1sby",
        "useStageCache": false,
        "stageVariableOverrides": {
            "sv2": "val3",
            "sv1": "val2"
        },
        "percentTraffic": 10.5
    },
    "createdDate": "2017-11-20T04:42:19Z",
    "deploymentId": "nfcn0x",
    "lastUpdatedDate": "2017-11-22T00:54:28Z",
    "methodSettings": {
        ...
    },
    "stageName": "prod",
    "variables": {
        "sv1": "val1"
    }
}
```

Gunakan perintah [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) berikut untuk mempromosikan kenari:

```
aws apigateway update-stage  \
    --rest-api-id {rest-api-id}  \
    --stage-name '{stage-name}'  \
    --patch-operations '[{                                
        "op": "replace",                                  
        "value": "0.0",                                    
        "path": "/canarySettings/percentTraffic"         
      }, {                                                
        "op": "copy",                                     
        "from": "/canarySettings/stageVariableOverrides", 
        "path": "/variables"                             
      }, {                                                
        "op": "copy",                                     
        "from": "/canarySettings/deploymentId",           
        "path": "/deploymentId"                           
      }]'
```

Outputnya akan terlihat seperti berikut:

```
{
    "_links": {
        ...
    },
    "accessLogSettings": {
        ...
    },
    "cacheClusterEnabled": false,
    "cacheClusterStatus": "NOT_AVAILABLE",
    "canarySettings": {
        "deploymentId": "eh1sby",
        "useStageCache": false,
        "stageVariableOverrides": {
            "sv2": "val3",
            "sv1": "val2"
        },
        "percentTraffic": 0
    },
    "createdDate": "2017-11-20T04:42:19Z",
    "deploymentId": "eh1sby",
    "lastUpdatedDate": "2017-11-22T05:29:47Z",
    "methodSettings": {
        ...
    },
    "stageName": "prod",
    "variables": {
        "sv2": "val3",
        "sv1": "val2"
    }
}
```

Mempromosikan rilis kenari ke panggung tidak menonaktifkan kenari dan penerapan tetap menjadi penerapan rilis kenari. Untuk menjadikannya penyebaran rilis produksi reguler, Anda harus menonaktifkan pengaturan kenari. Untuk informasi selengkapnya tentang cara menonaktifkan penerapan rilis kenari, lihat. [Matikan pelepasan kenari](delete-canary-deployment.md)

# Matikan pelepasan kenari
<a name="delete-canary-deployment"></a>

Untuk mematikan penerapan rilis kenari berarti menyetel ke null [https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings)untuk menghapusnya dari panggung. 

Anda dapat menonaktifkan penerapan rilis canary menggunakan konsol API Gateway, the AWS CLI, atau SDK. AWS 

**Topics**
+ [Matikan rilis kenari menggunakan konsol API Gateway](#delete-canary-release-console)
+ [Matikan pelepas kenari menggunakan AWS CLI](#delete-canary-release-cli)

## Matikan rilis kenari menggunakan konsol API Gateway
<a name="delete-canary-release-console"></a>

Untuk menggunakan konsol API Gateway untuk mematikan penerapan rilis canary, gunakan langkah-langkah berikut:

**Untuk mematikan penerapan rilis kenari**

1. Masuk ke konsol API Gateway dan pilih API yang ada di panel navigasi utama.

1. Di panel navigasi utama, pilih **Tahapan**, lalu pilih tahap yang ada.

1.  Pilih tab **Canary**.

1.  Pilih **Hapus**.

1.  Konfirmasikan bahwa Anda ingin menghapus kenari dengan memilih **Hapus**.

Akibatnya, [https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings)properti menjadi `null` dan dihapus dari [tahap](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html) penyebaran. Anda dapat memverifikasi ini menggunakan AWS CLI. Sebagai contoh, lihat [Matikan pelepas kenari menggunakan AWS CLI](#delete-canary-release-cli).

## Matikan pelepas kenari menggunakan AWS CLI
<a name="delete-canary-release-cli"></a>

Perintah [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) berikut mematikan penerapan rilis kenari:

```
aws apigateway update-stage \
    --rest-api-id abcd1234 \
    --stage-name canary \
    --patch-operations '[{"op":"remove", "path":"/canarySettings"}]'
```

Outputnya terlihat seperti berikut:

```
{
    "stageName": "prod", 
    "accessLogSettings": {
        ...
    }, 
    "cacheClusterEnabled": false, 
    "cacheClusterStatus": "NOT_AVAILABLE", 
    "deploymentId": "nfcn0x", 
    "lastUpdatedDate": 1511309280, 
    "createdDate": 1511152939, 
    "methodSettings": {
        ...
    }
}
```

 [Seperti yang ditunjukkan dalam output, properti [CanarySettings](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#canarySettings) tidak lagi hadir dalam tahap penerapan canary-disabled.](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html)

# Pembaruan untuk REST APIs yang memerlukan pemindahan
<a name="updating-api"></a>

Mempertahankan API berarti melihat, memperbarui, dan menghapus pengaturan API yang ada. Anda dapat mempertahankan API menggunakan konsol API Gateway, AWS CLI, SDK CloudFormation, atau API Gateway REST API. Memperbarui API melibatkan modifikasi properti sumber daya tertentu atau pengaturan konfigurasi API. Pembaruan sumber daya memerlukan penerapan ulang API, di mana pembaruan konfigurasi tidak. 

Tabel berikut menjelaskan resource API yang memerlukan redeployment API Anda saat Anda memperbaruinya. 


| Sumber daya | Catatan | 
| --- | --- | 
| [ApiKey](https://docs.aws.amazon.com/apigateway/latest/api/API_ApiKey.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [apikey:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateApiKey.html). Pembaruan memerlukan penerapan ulang API. | 
| [Pengotorisasi](https://docs.aws.amazon.com/apigateway/latest/api/API_Authorizer.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [authorizer:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateAuthorizer.html). Pembaruan memerlukan penerapan ulang API. | 
|  [disableExecuteApiTitik akhir](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html#apigw-UpdateRestApi-response-disableExecuteApiEndpoint) | Pembaruan memerlukan modifikasi tahap apa pun pada API seperti memindahkan API ke panggung. | 
| [DocumentationPart](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationPart.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [documentationpart:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateDocumentationPart.html). Pembaruan memerlukan penerapan ulang API. | 
| [DocumentationVersion](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationVersion.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [documentationversion:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateDocumentationVersion.html). Pembaruan memerlukan penerapan ulang API. | 
| [GatewayResponse](https://docs.aws.amazon.com/apigateway/latest/api/API_GatewayResponse.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [gatewayresponse:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateGatewayResponse.html#remarks). Pembaruan memerlukan penerapan ulang API. | 
| [Integrasi](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html) |  Untuk properti yang berlaku dan operasi yang didukung, lihat [integration:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateIntegration.html). Pembaruan memerlukan penerapan ulang API.  | 
| [IntegrationResponse](https://docs.aws.amazon.com/apigateway/latest/api/API_IntegrationResponse.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [integrationresponse:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateIntegrationResponse.html). Pembaruan memerlukan penerapan ulang API. | 
| [Metode](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [metode:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html). Pembaruan memerlukan penerapan ulang API. | 
| [MethodResponse](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodResponse.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [methodresponse:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethodResponse.html). Pembaruan memerlukan penerapan ulang API. | 
| [Model](https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [model:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateModel.html). Pembaruan memerlukan penerapan ulang API. | 
| [RequestValidator](https://docs.aws.amazon.com/apigateway/latest/api/API_RequestValidator.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [requestvalidator:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRequestValidator.html). Pembaruan memerlukan penerapan ulang API. | 
| [Sumber Daya](https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [resource:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateResource.html). Pembaruan memerlukan penerapan ulang API. | 
| [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [restapi:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html). Pembaruan memerlukan penerapan ulang API. Ini termasuk memodifikasi kebijakan sumber daya. | 
| [VpcLink](https://docs.aws.amazon.com/apigateway/latest/api/API_VpcLink.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [vpclink:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateVpcLink.html). Pembaruan memerlukan penerapan ulang API. | 

Tabel berikut menjelaskan konfigurasi API yang tidak memerlukan redeployment API Anda saat Anda memperbaruinya.


| Konfigurasi | Catatan | 
| --- | --- | 
| [Akun](https://docs.aws.amazon.com/apigateway/latest/api/API_GetAccount.html) |  Untuk properti yang berlaku dan operasi yang didukung, lihat [account:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateAccount.html). Pembaruan tidak memerlukan penerapan ulang API.  | 
| [Deployment](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [deployment:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateDeployment.html).  | 
| [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [domainname:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateDomainName.html). Pembaruan tidak memerlukan penerapan ulang API. | 
| [BasePathMapping](https://docs.aws.amazon.com/apigateway/latest/api/API_BasePathMapping.html) |  Untuk properti yang berlaku dan operasi yang didukung, lihat [basepathmapping:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateBasePathMapping.html). Pembaruan tidak memerlukan penerapan ulang API.  | 
| [Jenis alamat IP](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) |  Pembaruan tidak memerlukan penerapan ulang API.  | 
| [Panggung](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html) |  Untuk properti yang berlaku dan operasi yang didukung, lihat [stage:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateStage.html). Pembaruan tidak memerlukan penerapan ulang API.  | 
| [Penggunaan](https://docs.aws.amazon.com/apigateway/latest/api/API_GetUsage.html) |  Untuk properti yang berlaku dan operasi yang didukung, lihat [usage:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateUsage.html). Pembaruan tidak memerlukan penerapan ulang API.  | 
| [UsagePlan](https://docs.aws.amazon.com/apigateway/latest/api/API_UsagePlan.html) | Untuk properti yang berlaku dan operasi yang didukung, lihat [usageplan:update](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateUsagePlan.html). Pembaruan tidak memerlukan penerapan ulang API. | 