Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Activation de la prise en charge binaire à l’aide de l’API REST API Gateway

Mode de mise au point
Activation de la prise en charge binaire à l’aide de l’API REST API Gateway - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les tâches suivantes montrent comment activer la prise en charge binaire à l’aide des appels de l’API REST API Gateway.

Ajout et mise à jour des types de supports binaires d’une API

Pour permettre à API Gateway de prendre en charge un nouveau type de support binaire, vous devez ajouter le type de support binaire à la liste binaryMediaTypes de la ressource RestApi. Par exemple, pour qu’API Gateway gère les images JPEG, envoyez une demande PATCH à la ressource RestApi :

PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/image~1jpeg" } ] }

La spécification de type MIME de image/jpeg qui fait partie de la valeur de propriété path est échappée comme image~1jpeg.

Pour mettre à jour les types de supports binaires pris en charge, remplacez ou supprimez le type de support de la liste binaryMediaTypes de la ressource RestApi. Par exemple, pour remplacer la prise en charge binaire des fichiers JPEG par celle des octets bruts, soumettez une demande PATCH à la ressource RestApi, comme suit :

PATCH /restapis/<restapi_id> { "patchOperations" : [{ "op" : "replace", "path" : "/binaryMediaTypes/image~1jpeg", "value" : "application/octet-stream" }, { "op" : "remove", "path" : "/binaryMediaTypes/image~1jpeg" }] }

Configuration des conversions de charge utile de la demande

Si le point de terminaison nécessite une entrée binaire, définissez la propriété contentHandling de la ressource Integration sur CONVERT_TO_BINARY. Pour ce faire, présentez une PATCH demande, comme suit :

PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" }] }

Configuration des conversions de charge utile pour la réponse

Si le client accepte le résultat comme blob binaire au lieu de la charge utile encodée en base64 renvoyée par le point de terminaison, définissez la propriété contentHandling de la ressource IntegrationResponse sur CONVERT_TO_BINARY. Pour ce faire, soumettez une demande PATCH, comme suit :

PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration/responses/<status_code> { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" }] }

Conversion des données binaires en données de texte

Pour envoyer des données binaires sous forme de propriété JSON de l'entrée à AWS Lambda ou à Kinesis via API Gateway, procédez comme suit :

  1. Activez la prise en charge de la charge utile binaire de l’API en ajoutant le nouveau type de support binaire de application/octet-stream à la liste de l’API binaryMediaTypes.

    PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/application~1octet-stream" } ] }
  2. Définissez CONVERT_TO_TEXT sur la propriété contentHandling de la ressource Integration et fournissez fournir un modèle de mappage pour attribuer la chaîne encodée en base64 des données binaires à une propriété JSON. Dans l’exemple suivant, la propriété JSON est body et $input.body contient la chaîne encodée en base64.

    PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_TEXT" }, { "op" : "add", "path" : "/requestTemplates/application~1octet-stream", "value" : "{\"body\": \"$input.body\"}" } ] }

Conversion des données de texte en charge utile binaire

Supposons qu’une fonction Lambda renvoie un fichier d’image sous forme de chaîne encodée en base64. Pour transmettre cette sortie binaire au client via API Gateway, procédez comme suit :

  1. Mettez à jour la liste binaryMediaTypes de l’API en ajoutant le type de support binaire de application/octet-stream, s’il n’est pas déjà dans la liste.

    PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/application~1octet-stream", }] }
  2. Définissez la propriété contentHandling de la ressource Integration sur CONVERT_TO_BINARY. Ne définissez pas de modèle de mappage. Si vous ne définissez pas de modèle de mappage, API Gateway appelle le modèle de relais pour renvoyer le blob binaire encodé en base64 sous forme de fichier image au client.

    PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration/responses/<status_code> { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" } ] }

Passage via une charge utile binaire

Pour stocker une image dans un compartiment Amazon S3 à l’aide d’API Gateway, procédez comme suit :

  1. Mettez à jour la liste binaryMediaTypes de l’API en ajoutant le type de support binaire de application/octet-stream, s’il n’est pas déjà dans la liste.

    PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/application~1octet-stream" } ] }
  2. Sur la propriété contentHandling de la ressource Integration, définissez CONVERT_TO_BINARY. Définissez WHEN_NO_MATCH comme valeur de propriété passthroughBehavior sans définir de modèle de mappage. Cela permet à API Gateway d’appeler le modèle de relais.

    PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" }, { "op" : "replace", "path" : "/passthroughBehaviors", "value" : "WHEN_NO_MATCH" } ] }
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.