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 combinazione di binaryMediaTypes
dell'API, le intestazioni nelle richieste del client e la proprietà contentHandling
di integrazione determinano il modo in cui API Gateway codifica i payload.
La tabella seguente mostra come API Gateway converte il payload della richiesta per configurazioni specifiche dell'Content-Type
intestazione di una richiesta, l'binaryMediaTypes
elenco di una RestApirisorsa e il valore della contentHandling
proprietà della risorsa di integrazione.
Payload della richiesta di metodo | Intestazione Content-Type della richiesta |
binaryMediaTypes |
contentHandling |
Payload della richiesta di integrazione |
---|---|---|---|---|
Dati di testo | Qualsiasi tipo di dato | Undefined | Undefined | UTF8stringa codificata |
Dati di testo | Qualsiasi tipo di dato | Undefined | CONVERT_TO_BINARY |
BLOB binario con codifica Base64 |
Dati di testo | Qualsiasi tipo di dato | Undefined | CONVERT_TO_TEXT |
UTF8-stringa codificata |
Dati di testo | Un tipo di dati di testo | Imposta con tipi di supporto corrispondenti | Undefined | Dati di testo |
Dati di testo | Un tipo di dati di testo | Imposta con tipi di supporto corrispondenti | CONVERT_TO_BINARY |
BLOB binario con codifica Base64 |
Dati di testo | Un tipo di dati di testo | Imposta con tipi di supporto corrispondenti | CONVERT_TO_TEXT |
Dati di testo |
Dati binari | Un tipo di dati binari | Imposta con tipi di supporto corrispondenti | Undefined | Dati binari |
Dati binari | Un tipo di dati binari | Imposta con tipi di supporto corrispondenti | CONVERT_TO_BINARY |
Dati binari |
Dati binari | Un tipo di dati binari | Imposta con tipi di supporto corrispondenti | CONVERT_TO_TEXT |
Stringa con codifica Base64 |
La tabella seguente mostra come API Gateway converte il payload di risposta per configurazioni specifiche dell'Accept
intestazione di una richiesta, l'binaryMediaTypes
elenco di una RestApirisorsa e il valore della contentHandling
proprietà della risorsa. IntegrationResponse
Importante
Quando una richiesta contiene più tipi di supporto nell'intestazione Accept
, API Gateway mantiene la conformità solo con il primo tipo di supporto Accept
. Se non è possibile controllare l'ordine dei tipi di supporto Accept
e il tipo di supporto del contenuto binario non è il primo dell'elenco, aggiungere il primo tipo di supporto Accept
nell'elenco binaryMediaTypes
dell'API. API Gateway gestisce tutti i tipi di contenuto in questo elenco come binari.
Ad esempio, per inviare un file JPEG utilizzando un elemento <img>
in un browser, il browser potrebbe inviare Accept:image/webp,image/*,*/*;q=0.8
in una richiesta. Aggiungendo image/webp
all'elenco binaryMediaTypes
, l'endpoint riceve il file JPEG come binario.
Payload della risposta di integrazione | Intestazione Accept della richiesta |
binaryMediaTypes |
contentHandling |
Payload della risposta del metodo |
---|---|---|---|---|
Dati di testo o binari | Un tipo di testo | Undefined | Undefined | UTF8stringa codificata |
Dati di testo o binari | Un tipo di testo | Undefined | CONVERT_TO_BINARY |
BLOB con codifica Base64 |
Dati di testo o binari | Un tipo di testo | Undefined | CONVERT_TO_TEXT |
UTF8-stringa codificata |
Dati di testo | Un tipo di testo | Imposta con tipi di supporto corrispondenti | Undefined | Dati di testo |
Dati di testo | Un tipo di testo | Imposta con tipi di supporto corrispondenti | CONVERT_TO_BINARY |
BLOB con codifica Base64 |
Dati di testo | Un tipo di testo | Imposta con tipi di supporto corrispondenti | CONVERT_TO_TEXT |
UTF8-stringa codificata |
Dati di testo | Un tipo binario | Imposta con tipi di supporto corrispondenti | Undefined | BLOB con codifica Base64 |
Dati di testo | Un tipo binario | Imposta con tipi di supporto corrispondenti | CONVERT_TO_BINARY |
BLOB con codifica Base64 |
Dati di testo | Un tipo binario | Imposta con tipi di supporto corrispondenti | CONVERT_TO_TEXT |
UTF8-stringa codificata |
Dati binari | Un tipo di testo | Imposta con tipi di supporto corrispondenti | Undefined | Stringa con codifica Base64 |
Dati binari | Un tipo di testo | Imposta con tipi di supporto corrispondenti | CONVERT_TO_BINARY |
Dati binari |
Dati binari | Un tipo di testo | Imposta con tipi di supporto corrispondenti | CONVERT_TO_TEXT |
Stringa con codifica Base64 |
Dati binari | Un tipo binario | Imposta con tipi di supporto corrispondenti | Undefined | Dati binari |
Dati binari | Un tipo binario | Imposta con tipi di supporto corrispondenti | CONVERT_TO_BINARY |
Dati binari |
Dati binari | Un tipo binario | Imposta con tipi di supporto corrispondenti | CONVERT_TO_TEXT |
Stringa con codifica Base64 |
Quando converti un payload di testo in un BLOB binario, API Gateway assume che i dati di testo siano una stringa con codifica base64 e genera un output dei dati binari come BLOB con codifica base64. Se la conversione non va a buon fine, viene restituita una risposta 500
che indica un errore di configurazione dell'API. Non fornisci un modello di mappatura per una conversione di questo tipo, sebbene tu debba abilitare i comportamenti passthrough sull'API.
Quando converti un payload binario in una stringa di testo, API Gateway applica sempre una codifica base64 ai dati binari. Per tale payload puoi definire un modello di mappatura, ma puoi accedere alla stringa con codifica base64 nel modello di mappatura solo attraverso $input.body
, come viene mostrato nel seguente estratto di un modello di mappatura di esempio.
{ "data": "$input.body" }
Per fare in modo che il payload binario venga passato senza alcuna modifica, devi abilitare i comportamenti passthrough sull'API.