Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Catatan penting Amazon API Gateway
Topik
Catatan penting Amazon API Gateway untuk RESTAPIs, HTTPAPIs, dan WebSocket APIs
-
Signature Version 4A tidak secara resmi didukung oleh Amazon API Gateway.
Catatan penting Amazon API Gateway untuk REST dan WebSocket APIs
-
APIGateway 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 API tingkat root dengan domain khusus akan gagal menghasilkan hasil yang diharapkan. -
APIGateway 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 yang validXML. (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
-
APIGateway 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 (
|
) tidak didukung untuk string URL kueri permintaan apa pun dan harus URL dikodekan. -
Karakter titik koma (
;
) tidak didukung untuk string permintaan URL permintaan apa pun dan menghasilkan data yang dibagi. -
RESTAPIsparameter permintaan decode URL -encoded sebelum meneruskannya ke integrasi backend. Untuk parameter permintaan UTF -8, REST APIs dekode parameter dan kemudian berikan sebagai unicode ke integrasi backend.
-
Saat menggunakan konsol API Gateway untuk mengujiAPI, 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
Method
entitas APIResource
atau 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 VPC tautan masih digunakan bahkan ketikaMethod
entitasResource
atau dihapus. Perilaku ini tidak berlaku ketika referensi integrasi pribadiVpcLink
melalui variabel tahap. -
Backend berikut mungkin tidak mendukung otentikasi SSL klien dengan cara yang kompatibel dengan Gateway: API
-
APIGateway mendukung sebagian besar spesifikasi Open API 2.0
dan spesifikasi Open API 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
Jenisnya, jika digunakan, harusapiKey
. Namun, OAuth 2 dan otentikasi HTTP Dasar didukung melalui otorisasi Lambda; konfigurasi API Terbuka dicapai melalui ekstensi vendor. -
deprecated
Bidang tidak didukung dan dijatuhkan di ekspor. APIs -
APIModel gateway didefinisikan menggunakan JSONskema draf 4
, bukan JSON skema yang digunakan oleh Open. API -
discriminator
Parameter tidak didukung dalam objek skema apa pun. -
example
Tag 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 Open API 2.0 atau SDK generasi. -
readOnly
Bidang tidak didukung. -
$ref
tidak dapat digunakan untuk referensi file lain. -
Definisi respons
"500": {"$ref": "#/responses/UnexpectedError"}
formulir tidak didukung di root API dokumen Terbuka. 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" } }
-
APIGateway tidak menggunakan keamanan tingkat root yang ditentukan dalam API spesifikasi Terbuka. Oleh karena itu keamanan perlu didefinisikan pada tingkat operasi agar diterapkan dengan tepat.
-
Kata
default
kunci tidak didukung.
-
-
APIGateway memberlakukan batasan dan batasan berikut saat menangani metode dengan integrasi atau integrasi HTTP Lambda.
-
Nama header dan parameter kueri diproses dengan cara case-sensitive.
-
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 Jatuh/Passthrough/Passthrough Accept-Charset
Passthrough Passthrough Accept-Encoding
Passthrough Passthrough Authorization
Passthrough * Dipetakan ulang Connection
Passthrough/Passthrough/Drop 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
Jatuh/Jatuh/Pengecualian Jatuh Trailer
Jatuh Jatuh Upgrade
Jatuh Jatuh User-Agent
Passthrough Dipetakan ulang Via
Jatuh/Jatuh/Passthrough Passthrough/Dropped/Drop 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 yang API dihasilkan oleh API Gateway menggunakan
java.net.HttpURLConnection
kelas. 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 yang API dihasilkan oleh GatewayAPI, yang API dihasilkan oleh API Gateway tidak mendukung percobaan ulang untuk kesalahan tingkat 500. JavaScript SDK
-
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. Jadi untuk meneruskan header ke backend, header perlu ditambahkan ke permintaan integrasi. -
Ketika permintaan berisi beberapa jenis media di
Accept
header, 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 AndaAPI, API Gateway akan mengembalikan konten Anda sebagai biner. Misalnya, untuk mengirim JPEG file menggunakan<img>
elemen di browser, browser mungkin mengirimAccept:image/webp,image/*,*/*;q=0.8
permintaan. Dengan menambahkanimage/webp
kebinaryMediaTypes
daftar, titik akhir akan menerima JPEG file sebagai biner. -
Menyesuaikan respons gateway default untuk saat ini
413 REQUEST_TOO_LARGE
tidak didukung. -
APIGateway menyertakan
Content-Type
header untuk semua tanggapan integrasi. Secara default, jenis konten adalahapplication/json
.