Note importanti su Amazon API Gateway - Amazon API Gateway

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à.

Note importanti su Amazon API Gateway

La sezione seguente descrive in dettaglio le note che potrebbero influire sull'utilizzo di API Gateway.

Note importanti su Amazon API Gateway per REST APIs HTTPAPIs, e WebSocket APIs

  • La versione 4A di Signature non è ufficialmente supportata da Amazon API Gateway.

Note importanti su Amazon API Gateway per REST e WebSocket APIs

  • APIGateway 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. Il loro utilizzo per risorse a API livello di root con domini personalizzati non produrrà il risultato previsto.

  • APIAttualmente Gateway limita gli eventi di registro a 1024 byte. Gli eventi di registro di dimensioni superiori a 1024 byte, come i corpi di richiesta e risposta, verranno troncati da Gateway prima dell'invio ai log. API CloudWatch

  • CloudWatch Attualmente Metrics limita i nomi e i valori delle dimensioni a 255 caratteri validi. XML (Per ulteriori informazioni, consulta la Guida per l'CloudWatch utente.) I valori delle dimensioni sono una funzione dei nomi definiti dall'utente, tra cui API nome, nome dell'etichetta (fase) e nome della risorsa. Quando scegli questi nomi, fai attenzione a non superare i limiti di CloudWatch Metrics.

  • La dimensione massima di un modello di mappatura è 300 KB.

Note importanti su Amazon API Gateway per WebSocket APIs

  • APIGateway supporta payload di messaggi fino a 128 KB con una dimensione massima dei frame 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 pipe (|) in testo semplice non è supportato per nessuna stringa di URL query di richiesta e deve essere codificato in URL -codifica.

  • Il carattere punto e virgola (;) non è supportato per nessuna stringa di URL query di richiesta e comporta la divisione dei dati.

  • RESTAPIsdecodifica i parametri di richiesta URL con codifica prima di passarli alle integrazioni di backend. Per UTF -8 parametri di richiesta, REST APIs decodifica i parametri e poi passali come unicode alle integrazioni di backend.

  • Quando usi la console API Gateway per testare un certificatoAPI, potresti ricevere una risposta «errori di endpoint sconosciuti» se al backend viene presentato un certificato autofirmato, se il certificato intermedio non è presente nella catena di certificati o se il backend presenta altre eccezioni irriconoscibili relative ai certificati.

  • Per un'Methodentità API Resourceor con un'integrazione privata, è necessario eliminarla dopo aver rimosso qualsiasi riferimento codificato di a. VpcLink Altrimenti, hai un'integrazione sospesa e ricevi un errore che indica che il VPC link è ancora in uso anche quando l'Resourceentità or viene eliminata. Method Questo comportamento non si applica quando l'integrazione privata fa riferimento a VpcLink tramite una variabile di fase.

  • I seguenti backend potrebbero non supportare l'autenticazione SSL del client in un modo compatibile con Gateway: API

  • APIGateway supporta la maggior parte delle specifiche Open API 2.0 e Open API 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 essere apiKey. Tuttavia, l'autenticazione OAuth 2 e HTTP Basic sono supportate tramite autorizzatori Lambda; la API configurazione Open viene ottenuta tramite le estensioni del fornitore.

    • Il deprecated campo non è supportato e viene eliminato in Export. APIs

    • APII modelli di gateway vengono definiti utilizzando JSONlo schema draft 4, anziché lo JSON schema utilizzato da OpenAPI.

    • Il parametro discriminator non è supportato in nessun oggetto dello schema.

    • Il tag example non è supportato.

    • exclusiveMinimumnon è supportato da API Gateway.

    • I tag maxItems e minItems 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.

    • oneOfnon è supportato per Open API 2.0 o SDK la generazione.

    • Il campo readOnly non è supportato.

    • $ref non può essere utilizzato per fare riferimento ad altri file.

    • Le definizioni di risposta del "500": {"$ref": "#/responses/UnexpectedError"} modulo non sono supportate nella radice del API documento Open. Come soluzione alternativa, sostituisci i riferimenti con lo schema inline.

    • I numeri del tipo Int32 o Int64 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" } }
    • APIGateway non utilizza la sicurezza di livello root definita nella API specifica Open. Pertanto, la sicurezza deve essere definita a livello di operazione per essere applicata in modo appropriato.

    • La parola chiave default non è supportata.

  • APIGateway applica le seguenti restrizioni e limitazioni quando gestisce i metodi con integrazione o integrazione HTTP Lambda.

    • 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 <string> a X-Amzn-Remapped-<string>.

        Remapped Overwritten significa che il nome dell'intestazione è cambiato da <string> a X-Amzn-Remapped-<string> e il valore viene sovrascritto.

      Nome intestazione Richiesta (http/http_proxy/lambda) Risposta (http/http_proxy/lambda)
      Age Transito Transito
      Accept Transito Interrotta/Transito/Transito
      Accept-Charset Transito Transito
      Accept-Encoding Transito Transito
      Authorization Transito * Rimappata
      Connection Transito/Transito/Interrotta Rimappata
      Content-Encoding Transito/Interrotta/Transito 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 Interrotta/Interrotta/Eccezione Interrotta
      Trailer Interrotta Interrotta
      Upgrade Interrotta Interrotta
      User-Agent Transito Rimappata
      Via Interrotta/Interrotta/Transito Transito/Interrotta/Interrotta
      Warn Transito Transito
      WWW-Authenticate Interrotta Rimappata

      * L'intestazione Authorization viene eliminata se contiene una firma Signature Version 4 o viene usata un’autorizzazione AWS_IAM.

  • L'Android SDK di un API generato da API Gateway utilizza la java.net.HttpURLConnection classe. Questa classe genererà un'eccezione non gestita, sui dispositivi con Android 4.4 e versioni precedenti, per la risposta 401 derivante dalla rimappatura dell'intestazione WWW-Authenticate su X-Amzn-Remapped-WWW-Authenticate.

  • A differenza di Java, Android e iOS SDKs di an API generati da GatewayAPI, quelli API generati da API Gateway non supportano nuovi tentativi per errori di livello 500. JavaScript SDK

  • 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 si inviano richieste a un API tramite l'X-HTTP-Method-Overrideintestazione, Gateway sovrascrive il metodo. API Per passare l'intestazione al back-end, è necessario aggiungere l'intestazione all'integrazione richiesta.

  • Quando una richiesta contiene più tipi di file multimediali nell'Acceptintestazione, API Gateway rispetta solo il primo tipo di supporto. Accept Nel caso in cui non sia possibile controllare l'ordine dei tipi di Accept file multimediali e il tipo di supporto del contenuto binario non sia il primo nell'elenco, è possibile aggiungere il primo tipo di Accept file multimediale nell'binaryMediaTypeselencoAPI, API Gateway restituirà il contenuto come binario. Ad esempio, per inviare un JPEG file utilizzando un <img> elemento in un browser, il browser potrebbe inviare Accept:image/webp,image/*,*/*;q=0.8 una richiesta. Aggiungendo image/webp all'binaryMediaTypeselenco, l'endpoint riceverà il JPEG file come binario.

  • La personalizzazione della risposta del gateway predefinito per 413 REQUEST_TOO_LARGE non è attualmente supportata.

  • APIGateway include un'Content-Typeintestazione per tutte le risposte di integrazione. Per impostazione predefinita, il tipo di contenuto è application/json.