Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagian berikut merinci catatan yang mungkin memengaruhi penggunaan API Gateway Anda.
Topik
Catatan penting Amazon API Gateway untuk REST APIs, HTTP APIs, dan WebSocket APIs
-
Signature Version 4A tidak didukung secara resmi oleh Amazon API Gateway.
Catatan penting Amazon API Gateway untuk HTTP APIs
-
HTTP APIs menerjemahkan
X-Forwarded-*
header masuk keForwarded
header standar dan akan menambahkan IP keluar, Host, dan protokol. -
API Gateway menambahkan header Content-type ke permintaan Anda jika tidak ada payload dan Content-Length adalah 0.
Catatan penting Amazon API Gateway untuk REST dan WebSocket APIs
-
API Gateway tidak mendukung berbagi nama domain khusus di seluruh REST dan WebSocket APIs.
-
Nama panggung hanya dapat berisi karakter alfanumerik, tanda hubung, dan garis bawah. Panjang maksimum adalah 128 karakter.
-
/sping
Jalur/ping
dan disediakan untuk pemeriksaan kesehatan layanan. Penggunaan ini untuk sumber daya tingkat root API dengan domain khusus akan gagal menghasilkan hasil yang diharapkan. -
API Gateway saat ini membatasi peristiwa log hingga 1024 byte. Peristiwa log yang lebih besar dari 1024 byte, seperti badan permintaan dan respons, akan dipotong oleh API Gateway sebelum dikirim ke Log. CloudWatch
-
CloudWatch Metrik saat ini membatasi nama dan nilai dimensi hingga 255 karakter XHTML yang valid. (Untuk informasi selengkapnya, lihat Panduan CloudWatch Pengguna.) Nilai dimensi adalah fungsi dari nama yang ditentukan pengguna, termasuk nama API, nama label (tahap), dan nama sumber daya. Saat memilih nama-nama ini, berhati-hatilah untuk tidak melebihi batas CloudWatch Metrik.
-
Ukuran maksimum template pemetaan adalah 300 KB.
Catatan penting Amazon API Gateway untuk WebSocket APIs
-
API Gateway mendukung muatan pesan hingga 128 KB dengan ukuran bingkai maksimum 32 KB. Jika pesan melebihi 32 KB, Anda harus membaginya menjadi beberapa frame, masing-masing 32 KB atau lebih kecil. Jika pesan yang lebih besar diterima, koneksi ditutup dengan kode 1009.
Catatan penting Amazon API Gateway untuk REST APIs
-
Karakter pipa teks biasa (
|
) dan karakter kurung kurawal ({
atau}
) tidak didukung untuk string kueri URL permintaan apa pun dan harus dikodekan URL. -
Karakter titik koma (
;
) tidak didukung untuk string kueri URL permintaan apa pun dan menghasilkan data yang dibagi. -
REST APIs mendekode parameter permintaan yang disandikan URL sebelum meneruskannya ke integrasi backend. Untuk parameter permintaan UTF-8, REST APIs memecahkan kode parameter dan kemudian meneruskannya sebagai unicode ke integrasi backend. REST APIs URL-encode persen karakter (
%
) sebelum meneruskannya ke integrasi backend. -
Saat menggunakan konsol API Gateway untuk menguji API, Anda mungkin mendapatkan respons “kesalahan titik akhir tidak dikenal” jika sertifikat yang ditandatangani sendiri ditampilkan ke backend, sertifikat perantara hilang dari rantai sertifikat, atau pengecualian terkait sertifikat lain yang tidak dapat dikenali yang dilemparkan oleh backend.
-
Untuk API
Resource
atauMethod
entitas dengan integrasi pribadi, Anda harus menghapusnya setelah menghapus referensi kode keras dari file.VpcLink
Jika tidak, Anda memiliki integrasi yang menggantung dan menerima kesalahan yang menyatakan bahwa tautan VPC masih digunakan bahkan ketika entitasResource
atauMethod
dihapus. Perilaku ini tidak berlaku ketika integrasi pribadi mereferensikanVpcLink
melalui variabel tahap. -
Backend berikut mungkin tidak mendukung otentikasi klien SSL dengan cara yang kompatibel dengan API Gateway:
-
API Gateway mendukung sebagian besar spesifikasi OpenAPI 2.0 dan spesifikasi
OpenAPI 3.0, dengan pengecualian berikut: -
Segmen jalur hanya dapat berisi karakter alfanumerik, garis bawah, tanda hubung, titik, koma, titik dua, dan kurawal kurawal. Parameter jalur harus segmen jalur terpisah. Misalnya, “resource/ {path_parameter_name}” valid; “resource {path_parameter_name}” tidak.
-
Nama model hanya dapat berisi karakter alfanumerik.
-
Untuk parameter input, hanya atribut berikut yang didukung:
name
,in
,required
,type
,description
. Atribut lainnya diabaikan. -
securitySchemes
Jenis, jika digunakan, harusapiKey
. Namun, otentikasi OAuth 2 dan HTTP Basic didukung melalui otorisasi Lambda; konfigurasi OpenAPI dicapai melalui ekstensi vendor. -
deprecated
Bidang tidak didukung dan dijatuhkan di ekspor. APIs -
Model API Gateway didefinisikan menggunakan skema JSON draft 4, bukan skema
JSON yang digunakan oleh OpenAPI. -
discriminator
Parameter tidak didukung dalam objek skema apa pun. -
example
Tag tidak didukung. -
nullable
Bidang tidak didukung. -
exclusiveMinimum
tidak didukung oleh API Gateway. -
minItems
TagmaxItems
dan tidak termasuk dalam validasi permintaan sederhana. Untuk mengatasinya, perbarui model setelah impor sebelum melakukan validasi. -
oneOf
tidak didukung untuk OpenAPI 2.0 atau pembuatan SDK. -
readOnly
Bidang tidak didukung. -
$ref
tidak dapat digunakan untuk referensi file lain. -
Definisi respons
"500": {"$ref": "#/responses/UnexpectedError"}
formulir tidak didukung di root dokumen OpenAPI. Untuk mengatasinya, ganti referensi dengan skema inline. -
Nomor
Int64
tipeInt32
atau tidak didukung. Contoh ditunjukkan sebagai berikut:"elementId": { "description": "Working Element Id", "format": "int32", "type": "number" }
-
Jenis format angka desimal (
"format": "decimal"
) tidak didukung dalam definisi skema. -
Dalam respons metode, definisi skema harus dari tipe objek dan tidak dapat tipe primitif. Misalnya,
"schema": { "type": "string"}
tidak didukung. Namun, Anda dapat mengatasinya menggunakan jenis objek berikut:"schema": { "$ref": "#/definitions/StringResponse" } "definitions": { "StringResponse": { "type": "string" } }
-
API Gateway tidak menggunakan keamanan tingkat root yang ditentukan dalam spesifikasi OpenAPI. Oleh karena itu keamanan perlu didefinisikan pada tingkat operasi agar diterapkan dengan tepat.
-
Kata
default
kunci tidak didukung.
-
-
API Gateway memberlakukan batasan dan batasan berikut saat menangani metode dengan integrasi Lambda atau integrasi HTTP.
-
Nama header dan parameter kueri diproses dengan cara yang peka huruf besar/kecil.
-
Tabel berikut mencantumkan header yang mungkin dihapus, dipetakan ulang, atau diubah saat dikirim ke titik akhir integrasi atau dikirim kembali oleh titik akhir integrasi Anda. Dalam tabel ini:
-
Remapped
berarti bahwa nama header diubah dari
menjadi<string>
X-Amzn-Remapped-
.<string>
Remapped Overwritten
berarti bahwa nama header diubah dari
ke<string>
X-Amzn-Remapped-
dan nilainya ditimpa.<string>
Nama header Permintaan ( http
/http_proxy
/lambda
)Tanggapan ( http
/http_proxy
/lambda
)Age
Passthrough Passthrough Accept
Passthrough Dropped/Passthrough/Passthrough Accept-Charset
Passthrough Passthrough Accept-Encoding
Passthrough Passthrough Authorization
Passthrough * Dipetakan ulang Connection
Passthrough/Passthrough/Dropped Dipetakan ulang Content-Encoding
Passthrough/Dropped/Passthrough Passthrough Content-Length
Passthrough (dihasilkan berdasarkan tubuh) Passthrough Content-MD5
Jatuh Dipetakan ulang Content-Type
Passthrough Passthrough Date
Passthrough Dipetakan Ulang Ditimpa Expect
Jatuh Jatuh Host
Ditimpa ke titik akhir integrasi Jatuh Max-Forwards
Jatuh Dipetakan ulang Pragma
Passthrough Passthrough Proxy-Authenticate
Jatuh Jatuh Range
Passthrough Passthrough Referer
Passthrough Passthrough Server
Jatuh Dipetakan Ulang Ditimpa TE
Jatuh Jatuh Transfer-Encoding
Dropped/Dropped/Exception Jatuh Trailer
Jatuh Jatuh Upgrade
Jatuh Jatuh User-Agent
Passthrough Dipetakan ulang Via
Dropped/Dropped/Passthrough Passthrough/Dropped/Dropped Warn
Passthrough Passthrough WWW-Authenticate
Jatuh Dipetakan ulang *
Authorization
Header dijatuhkan jika berisi tanda tangan Versi Tanda Tangan 4 atau jikaAWS_IAM
otorisasi digunakan. -
-
-
Android SDK API yang dihasilkan oleh API Gateway menggunakan
java.net.HttpURLConnection
class tersebut. Kelas ini akan menampilkan pengecualian yang tidak tertangani, pada perangkat yang menjalankan Android 4.4 dan yang lebih lama, untuk respons 401 yang dihasilkan dari pemetaan ulang header ke.WWW-Authenticate
X-Amzn-Remapped-WWW-Authenticate
-
Tidak seperti Java, Android, dan iOS SDKs API yang dibuat oleh API Gateway, JavaScript SDK API yang dihasilkan oleh API Gateway tidak mendukung percobaan ulang untuk kesalahan tingkat 500.
-
Pemanggilan pengujian metode menggunakan jenis konten default
application/json
dan mengabaikan spesifikasi jenis konten lainnya. -
Saat mengirim permintaan ke API dengan meneruskan
X-HTTP-Method-Override
header, API Gateway mengganti metode tersebut. Jadi untuk meneruskan header ke backend, header perlu ditambahkan ke permintaan integrasi. -
Jika permintaan berisi beberapa tipe media di
Accept
headernya, API Gateway hanya menghormati jenisAccept
media pertama. Dalam situasi di mana Anda tidak dapat mengontrol urutan jenisAccept
media dan jenis media konten biner Anda bukan yang pertama dalam daftar, Anda dapat menambahkan jenisAccept
media pertama dalambinaryMediaTypes
daftar API Anda, API Gateway akan mengembalikan konten Anda sebagai biner. Misalnya, untuk mengirim file JPEG menggunakan<img>
elemen di browser, browser mungkin mengirimAccept:image/webp,image/*,*/*;q=0.8
permintaan. Dengan menambahkanimage/webp
kebinaryMediaTypes
daftar, titik akhir akan menerima file JPEG sebagai biner. -
Menyesuaikan respons gateway default untuk saat ini
413 REQUEST_TOO_LARGE
tidak didukung. -
API Gateway menyertakan
Content-Type
header untuk semua respons integrasi. Secara default, jenis konten adalahapplication/json
.