View a markdown version of this page

Gunakan variabel tahap untuk REST API di API Gateway - Amazon API Gateway

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

Gunakan variabel tahap untuk REST API di API Gateway

Variabel tahap adalah pasangan kunci-nilai yang dapat Anda tentukan sebagai atribut konfigurasi yang terkait dengan tahap penerapan REST API. Mereka bertindak seperti variabel lingkungan dan dapat digunakan dalam pengaturan API dan template pemetaan Anda. Dengan tahapan penerapan di API Gateway, Anda dapat mengelola beberapa tahapan rilis untuk setiap API dan menggunakan variabel tahap untuk mengonfigurasi tahap penerapan API agar 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 otor AWS Lambda isasi. Anda dapat meneruskan data sensitif ke integrasi dalam output dari otorizer Lambda. Untuk mempelajari selengkapnya, lihat Keluaran dari otorisasi API Gateway Lambda.

Gunakan kasus untuk variabel tahap

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 tahap 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 mengkonfigurasi 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
Meneruskan informasi menggunakan templat pemetaan

Anda dapat mengakses variabel tahap di template pemetaan, atau meneruskan parameter konfigurasi ke backend Anda AWS Lambda atau HTTP. 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 mengonfigurasi variabel tahap, dan kemudian Anda menetapkan nilai. Misalnya, untuk menyesuaikan titik akhir integrasi HTTP, pertama buat variabel url tahap, dan kemudian dalam permintaan integrasi API Anda, masukkan nilai variabel tahap,http://${stageVariables.url}. Nilai ini memberitahu API Gateway untuk mengganti variabel stage Anda ${} saat runtime, tergantung pada tahap mana API Anda sedang berjalan. Untuk informasi selengkapnya, lihat Siapkan variabel tahap untuk REST API di API Gateway.