Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
La sezione seguente descrive in dettaglio le note che possono riguardare l'utilizzo di Gateway API.
Argomenti
Note importanti su Amazon API Gateway per REST APIs APIs, HTTP e WebSocket APIs
-
La versione 4A di Signature non è ufficialmente supportata da Gateway Amazon API.
Note importanti su Amazon API Gateway per HTTP APIs
-
HTTP APIs tradurrà le
X-Forwarded-*
intestazioni in entrata in un'Forwarded
intestazione standard e aggiungerà l'IP di uscita, l'host e il protocollo. -
API Gateway aggiunge l'intestazione Content-type alla richiesta se non è presente alcun payload e la Content-Length è 0.
Note importanti su Amazon API Gateway per REST e WebSocket APIs
-
API Gateway non supporta la condivisione di un nome di dominio personalizzato tra REST e WebSocket APIs.
-
I nomi di fasi possono contenere solo caratteri alfanumerici, trattini e caratteri di sottolineatura. La lunghezza massima è 128 caratteri.
-
I percorsi di
/ping
e/sping
sono riservati al controllo dello stato del servizio. Se questi percorsi vengono utilizzati per le risorse API al livello di root con domini personalizzati, non sarà possibile ottenere il risultato previsto. -
Attualmente API Gateway limita gli eventi di log a 1024 byte. Gli eventi di registro di dimensioni superiori a 1024 byte, come i corpi di richiesta e risposta, verranno troncati da API Gateway prima dell'invio ai log. CloudWatch
-
CloudWatch Attualmente Metrics limita i nomi e i valori delle dimensioni a 255 caratteri XML validi. Per ulteriori informazioni, consulta la Guida per l'utente di CloudWatch . I valori di dimensione sono una funzione di nomi definiti dall'utente, tra cui nome dell'API, nome dell'etichetta (fase) e nome della risorsa. Quando scegli questi nomi, fai attenzione a non superare i limiti CloudWatch delle metriche.
-
La dimensione massima di un modello di mappatura è 300 KB.
Note importanti su Amazon API Gateway per WebSocket APIs
-
API Gateway supporta payload dei messaggi fino a 128 KB con dimensione del frame massima di 32 KB. Se un messaggio supera i 32 KB, occorre suddividerlo in più frame, ciascuno di 32 KB o più piccolo. Se si riceve un messaggio di dimensioni maggiori, la connessione viene chiusa con codice 1009.
Note importanti su Amazon API Gateway per REST APIs
-
Il carattere barra verticale di testo semplice (
|
) e il carattere parentesi graffa ({
o}
) non sono supportati per le stringhe di query dell'URL della richiesta e devono presentare la codifica URL. -
Il punto e virgola (
;
) non è supportato per qualsiasi URL di richiesta della stringa di query e i risultati dei dati del frazionamento. -
REST APIs decodifica i parametri di richiesta con codifica URL prima di passarli alle integrazioni di backend. Per i parametri di richiesta UTF-8, REST APIs decodifica i parametri e poi li passa come unicode alle integrazioni di backend. APIs L'URL REST codifica il carattere percentuale () prima di passarlo alle integrazioni di backend.
%
-
Se effettui il test di un'API tramite la console API Gateway, potresti ricevere la risposta "unknown endpoint errors" (errori endpoint sconosciuti) se un certificato autofirmato viene inviato al back-end, se il certificato intermedio manca nella catena dei certificati o se viene rilevata dal back-end qualsiasi altra eccezione relativa a un certificato non riconoscibile.
-
È consigliabile eliminare un'entità API
Resource
oMethod
con un'integrazione privata, dopo aver rimosso eventuali riferimenti hardcoded di unVpcLink
. In caso contrario, l'integrazione verrà sospesa e riceverai un errore che ti informerà che il collegamento VPC è ancora in uso anche in seguito all'eliminazione dell'entitàResource
oMethod
. Questo comportamento non si applica quando l'integrazione privata fa riferimento aVpcLink
tramite una variabile di fase. -
I back-end seguenti potrebbero non supportare l'autenticazione client SSL in un modo che sia compatibile con API Gateway:
-
API Gateway supporta in gran parte la specifica OpenAPI 2.0
e la specifica OpenAPI 3.0 , con le seguenti eccezioni: -
I segmenti di percorso possono contenere solo caratteri alfanumerici, trattini, punti, virgole, due punti e parentesi graffe. I parametri di percorso devono essere segmenti di percorso separati. Ad esempio, "risorsa/{nome_parametro_percorso}" è valido, mentre "risorsa{nome_parametro_percorso}" no.
-
I nomi di modelli possono contenere solo caratteri alfanumerici.
-
Per i parametri di input, sono supportati solo i seguenti attributi:
name
,in
,required
,type
,description
. Altri attributi vengono ignorati. -
Il tipo
securitySchemes
, se utilizzato, deve essereapiKey
. Tuttavia, l'autenticazione OAuth 2 e HTTP Basic sono supportate tramite autorizzatori Lambda; la configurazione OpenAPI viene ottenuta tramite le estensioni del fornitore. -
Il
deprecated
campo non è supportato e viene eliminato nella cartella Exported. APIs -
I modelli di API Gateway sono definiti tramite la bozza 4 dello schema JSON
, anziché lo schema JSON utilizzato da OpenAPI. -
Il parametro
discriminator
non è supportato in nessun oggetto dello schema. -
Il tag
example
non è supportato. -
Il campo
nullable
non è supportato. -
exclusiveMinimum
non è supportato da API Gateway. -
I tag
maxItems
eminItems
non sono inclusi nella convalida della richiesta semplice. Come soluzione alternativa, aggiorna il modello in seguito all'importazione e prima di procedere con la convalida. -
oneOf
non è supportato per OpenAPI 2.0 o la generazione di SDK. -
Il campo
readOnly
non è supportato. -
$ref
non può essere utilizzato per fare riferimento ad altri file. -
Le definizioni di risposta del modulo
"500": {"$ref": "#/responses/UnexpectedError"}
non sono supportate nella root del documento di OpenAPI. Come soluzione alternativa, sostituisci i riferimenti con lo schema inline. -
I numeri del tipo
Int32
oInt64
non sono supportati. Di seguito viene riportato un esempio:"elementId": { "description": "Working Element Id", "format": "int32", "type": "number" }
-
Il tipo di formato con numeri decimali (
"format": "decimal"
) non è supportato nelle definizioni dello schema. -
Nelle risposte del metodo, la definizione dello schema deve essere di tipo oggetto e non di tipo di base. Ad esempio,
"schema": { "type": "string"}
non è supportato. Tuttavia, puoi trovare una soluzione alternativa al problema utilizzando il tipo di oggetto seguente:"schema": { "$ref": "#/definitions/StringResponse" } "definitions": { "StringResponse": { "type": "string" } }
-
API Gateway non utilizza la sicurezza a livello di radice definita nella specifica di OpenAPI. Pertanto, la sicurezza deve essere definita a livello di operazione per essere applicata in modo appropriato.
-
La parola chiave
default
non è supportata.
-
-
In API Gateway vengono applicate le seguenti restrizioni e limitazioni per la gestione dei metodi con l'integrazione Lambda o HTTP.
-
I nomi delle intestazioni e i parametri di query vengono elaborati tenendo presente la distinzione tra lettere maiuscole e minuscole.
-
La tabella seguente elenca le intestazioni che potrebbero venire interrotte, rimappate o modificate quando vengono inviate all'endpoint dell'integrazione o reinviate dall'endpoint dell'integrazione: In questa tabella:
-
Remapped
significa che il nome dell'intestazione è cambiato da
a<string>
X-Amzn-Remapped-
.<string>
Remapped Overwritten
significa che il nome dell'intestazione è cambiato da
a<string>
X-Amzn-Remapped-
e il valore viene sovrascritto.<string>
Nome intestazione Richiesta ( http
/http_proxy
/lambda
)Risposta ( http
/http_proxy
/lambda
)Age
Transito Transito Accept
Transito Dropped/Passthrough/Passthrough Accept-Charset
Transito Transito Accept-Encoding
Transito Transito Authorization
Transito * Rimappata Connection
Passthrough/Passthrough/Dropped Rimappata Content-Encoding
Passthrough/Dropped/Passthrough Transito Content-Length
Transito (generato in base al corpo) Transito Content-MD5
Interrotta Rimappata Content-Type
Transito Transito Date
Transito Rimappata Sovrascritta Expect
Interrotta Interrotta Host
Sovrascritto nell'endpoint di integrazione Interrotta Max-Forwards
Interrotta Rimappata Pragma
Transito Transito Proxy-Authenticate
Interrotta Interrotta Range
Transito Transito Referer
Transito Transito Server
Interrotta Rimappata Sovrascritta TE
Interrotta Interrotta Transfer-Encoding
Dropped/Dropped/Exception Interrotta Trailer
Interrotta Interrotta Upgrade
Interrotta Interrotta User-Agent
Transito Rimappata Via
Dropped/Dropped/Passthrough Passthrough/Dropped/Dropped Warn
Transito Transito WWW-Authenticate
Interrotta Rimappata * L'intestazione
Authorization
viene eliminata se contiene una firma Signature Version 4 o viene usata un’autorizzazioneAWS_IAM
. -
-
-
L'SDK Android di un'API generata da API Gateway utilizza la classe
java.net.HttpURLConnection
. Questa classe genererà un'eccezione non gestita, sui dispositivi con Android 4.4 e versioni precedenti, per la risposta 401 derivante dalla rimappatura dell'intestazioneWWW-Authenticate
suX-Amzn-Remapped-WWW-Authenticate
. -
A differenza di Java, Android e iOS SDKs di un'API generati da API Gateway, l' JavaScript SDK di un'API generata da API Gateway non supporta tentativi per errori di livello 500.
-
La chiamata di test di un metodo utilizza il tipo di contenuto predefinito di
application/json
e ignora le specifiche di altri tipi di contenuto. -
Quando invii richieste a un'API passando l'intestazione
X-HTTP-Method-Override
, API Gateway sostituisce il metodo. Per passare l'intestazione al back-end, è necessario aggiungere l'intestazione all'integrazione richiesta. -
Quando una richiesta contiene più tipi di supporto nell'intestazione
Accept
, API Gateway mantiene la conformità solo al primo tipo di supportoAccept
. Nella situazione in cui non puoi controllare l'ordine dei tipi di supportoAccept
e il tipo di supporto del tuo contenuto binario non è il primo dell'elenco, puoi aggiungere il primo tipo di supportoAccept
nell'elencobinaryMediaTypes
della tua API e API Gateway restituirà il tuo contenuto come binario. Ad esempio, per inviare un file JPEG utilizzando un elemento<img>
in un browser, il browser potrebbe inviareAccept:image/webp,image/*,*/*;q=0.8
in una richiesta. Aggiungendoimage/webp
all'elencobinaryMediaTypes
, l'endpoint riceverà il file JPEG come binario. -
La personalizzazione della risposta del gateway predefinito per
413 REQUEST_TOO_LARGE
non è attualmente supportata. -
API Gateway include un'intestazione
Content-Type
per tutte le risposte di integrazione. Per impostazione predefinita, il tipo di contenuto èapplication/json
.