Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sebelum mengonfigurasi paket penggunaan, Anda harus sudah melakukan hal berikut: menyiapkan metode API yang dipilih untuk meminta kunci API, menerapkan atau menerapkan ulang API ke tahap, dan membuat atau mengimpor satu atau beberapa kunci API. Untuk informasi selengkapnya, lihat Mengatur kunci API menggunakan API Gateway REST API.
Untuk mengonfigurasi paket penggunaan menggunakan API Gateway REST API, gunakan petunjuk berikut, dengan asumsi bahwa Anda telah membuat paket APIs untuk ditambahkan ke paket penggunaan.
Topik
Migrasi ke paket penggunaan default
Saat membuat paket penggunaan pertama kali, Anda dapat memigrasikan tahapan API yang ada yang terkait dengan kunci API yang dipilih ke paket penggunaan dengan memanggil account:update dengan isi berikut:
{ "patchOperations" : [ { "op" : "add", "path" : "/features", "value" : "UsagePlans" } ] }
Untuk informasi selengkapnya tentang memigrasi tahapan API yang terkait dengan kunci API, lihat Memigrasi ke Paket Penggunaan Default di Konsol API Gateway.
Buat rencana penggunaan
Prosedur berikut menjelaskan cara membuat rencana penggunaan.
Untuk membuat rencana penggunaan dengan REST API
-
Hubungi
usageplan:create
untuk membuat paket penggunaan. Di payload, tentukan nama dan deskripsi paket, tahapan API terkait, batas tarif, dan kuota.Catat pengenal rencana penggunaan yang dihasilkan. Anda membutuhkannya di langkah berikutnya.
-
Lakukan salah satu hal berikut ini:
-
Panggil
usageplankey:create
untuk menambahkan kunci API ke paket penggunaan. TentukankeyId
dankeyType
di payload.Untuk menambahkan lebih banyak kunci API ke paket penggunaan, ulangi panggilan sebelumnya, satu kunci API pada satu waktu.
-
Panggil
apikey:import
untuk menambahkan satu atau beberapa kunci API langsung ke paket penggunaan yang ditentukan. Payload permintaan harus berisi nilai kunci API, pengenal paket penggunaan terkait, flag Boolean untuk menunjukkan bahwa kunci diaktifkan untuk paket penggunaan, dan, mungkin, nama dan deskripsi kunci API.Contoh
apikey:import
permintaan berikut ini menambahkan tiga kunci API (seperti yang diidentifikasi olehkey
,name
, dandescription
) ke satu paket penggunaan (seperti yang diidentifikasi olehusageplanIds
):POST /apikeys?mode=import&format=csv&failonwarnings=fase HTTP/1.1 Host: apigateway.us-east-1.amazonaws.com Content-Type: text/csv Authorization: ... key,name, description, enabled, usageplanIds abcdef1234ghijklmnop8901234567, importedKey_1, firstone, tRuE, n371pt abcdef1234ghijklmnop0123456789, importedKey_2, secondone, TRUE, n371pt abcdef1234ghijklmnop9012345678, importedKey_3, , true, n371pt
Akibatnya, tiga
UsagePlanKey
sumber daya dibuat dan ditambahkan keUsagePlan
.Anda juga dapat menambahkan kunci API ke lebih dari satu paket penggunaan dengan cara ini. Untuk melakukan ini, ubah setiap nilai
usageplanIds
kolom menjadi string yang dipisahkan koma yang berisi pengidentifikasi rencana penggunaan yang dipilih, dan diapit dalam sepasang tanda kutip (atau)."n371pt,m282qs"
'n371pt,m282qs'
catatan
Kunci API dapat dikaitkan dengan lebih dari satu paket penggunaan. Rencana penggunaan dapat dikaitkan dengan lebih dari satu tahap. Namun, kunci API tertentu hanya dapat dikaitkan dengan satu paket penggunaan untuk setiap tahap API Anda.
-
Mengelola rencana penggunaan dengan menggunakan AWS CLI
update-usage-planContoh berikut menambah, menghapus, atau memodifikasi pengaturan pelambatan tingkat metode dalam paket penggunaan.
catatan
Pastikan untuk mengubah us-east-1
ke nilai Region yang sesuai untuk API Anda.
Untuk menambah atau mengganti batas tarif untuk membatasi sumber daya dan metode individual:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
planId
--patch-operations op="replace",path="/apiStages/apiId
:stage
/throttle/resourcePath
/httpMethod
/rateLimit",value="0.1"
Untuk menambah atau mengganti batas burst untuk membatasi sumber daya dan metode individual:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
planId
--patch-operations op="replace",path="/apiStages/apiId
:stage
/throttle/resourcePath
/httpMethod
/burstLimit",value="1"
Untuk menghapus pengaturan pelambatan tingkat metode untuk sumber daya dan metode individual:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
planId
--patch-operations op="remove",path="/apiStages/apiId
:stage
/throttle/resourcePath
/httpMethod
",value=""
Untuk menghapus semua setelan pelambatan tingkat metode untuk API:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
planId
--patch-operations op="remove",path="/apiStages/apiId
:stage
/throttle ",value=""
Berikut adalah contoh menggunakan contoh API Pet Store:
aws apigateway --region us-east-1 update-usage-plan --usage-plan-id
planId
--patch-operations op="replace",path="/apiStages/apiId
:stage
/throttle",value='"{\"/pets/GET\":{\"rateLimit\":1.0,\"burstLimit\":1},\"//GET\":{\"rateLimit\":1.0,\"burstLimit\":1}}"'
Uji rencana penggunaan
Sebagai contoh, mari kita gunakan PetStore API, yang dibuat diTutorial: Buat REST API dengan mengimpor contoh. Asumsikan bahwa API dikonfigurasi untuk menggunakan kunci API dariHiorr45VR...c4GJc
. Langkah-langkah berikut menjelaskan cara menguji rencana penggunaan.
Untuk menguji paket penggunaan Anda
-
Buat
GET
permintaan pada resource Pets (/pets
), dengan parameter?type=...&page=...
kueri, API (misalnya,xbvxlpijch
) dalam paket penggunaan:GET /testStage/pets?type=dog&page=1 HTTP/1.1 x-api-key: Hiorr45VR...c4GJc Content-Type: application/x-www-form-urlencoded Host: xbvxlpijch.execute-api.ap-southeast-1.amazonaws.com X-Amz-Date: 20160803T001845Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160803/ap-southeast-1/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-api-key, Signature={sigv4_hash}
catatan
Anda harus mengirimkan permintaan ini ke
execute-api
komponen API Gateway dan memberikan kunci API yang diperlukan (misalnya,Hiorr45VR...c4GJc
) dix-api-key
header yang diperlukan.Respons yang berhasil mengembalikan kode
200 OK
status dan payload yang berisi hasil yang diminta dari backend. Jika Anda lupa mengaturx-api-key
header atau mengaturnya dengan kunci yang salah, Anda mendapatkan403 Forbidden
respons. Namun, jika Anda tidak mengonfigurasi metode untuk memerlukan kunci API, kemungkinan besar Anda akan mendapatkan200 OK
respons apakah Anda menyetelx-api-key
header dengan benar atau tidak, dan batas throttle dan kuota paket penggunaan dilewati.Kadang-kadang, ketika terjadi kesalahan internal di mana API Gateway tidak dapat menerapkan batas pembatasan rencana penggunaan atau kuota untuk permintaan, API Gateway melayani permintaan tanpa menerapkan batas pembatasan atau kuota seperti yang ditentukan dalam paket penggunaan. Tapi, itu mencatat pesan kesalahan
Usage Plan check failed due to an internal error
in CloudWatch. Anda dapat mengabaikan kesalahan sesekali seperti itu.