Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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.
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 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 mengarahkanGET
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://${stageVariables.url}
. 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.