Importer un API fichier ouvert pour mettre à jour une API définition existante - APIPasserelle Amazon

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.

Importer un API fichier ouvert pour mettre à jour une API définition existante

Vous pouvez importer des API définitions uniquement pour mettre à jour un élément existantAPI, sans modifier la configuration de son point de terminaison, ni les étapes et les variables d'étape, ni les références aux API clés.

L' import-to-update opération peut se produire selon deux modes : fusion ou remplacement.

Lorsqu'un API (A) est fusionné avec un autre (B), le résultat API conserve les définitions des deux A et B si les deux APIs ne partagent aucune définition contradictoire. En cas de conflit, les définitions de méthode de la fusion API (A) remplacent les définitions de méthode correspondantes de la fusion API ()B. Par exemple, supposons que B déclare les méthodes suivantes pour renvoyer les réponses 200 et 206 :

GET /a POST /a

et A déclare la méthode suivante pour renvoyer les réponses 200 et 400 :

GET /a

Lorsqu'il A est fusionné dansB, le API résultat produit les méthodes suivantes :

GET /a

qui retourne les réponses 200 et 400, et

POST /a

qui retourne les réponses 200 et 206.

La fusion d'une API est utile lorsque vous avez décomposé vos API définitions externes en plusieurs parties plus petites et que vous souhaitez appliquer les modifications à partir d'une seule de ces parties à la fois. Par exemple, cela peut se produire si plusieurs équipes sont responsables de différentes parties d'un projet API et si les modifications sont disponibles à des rythmes différents. Dans ce mode, les éléments de l'existant API qui ne sont pas spécifiquement définis dans la définition importée sont laissés de côté.

Lorsqu'un API (A) en remplace un autre API (B), le résultat API prend les définitions du remplacement API (A). APIIl est utile de remplacer un lorsqu'une API définition externe contient la définition complète d'unAPI. Dans ce mode, les éléments d'un élément existant API qui ne sont pas spécifiquement définis dans la définition importée sont supprimés.

Pour fusionner unAPI, envoyez une PUT demande àhttps://apigateway.<region>.amazonaws.com/restapis/<restapi_id>?mode=merge. La valeur du paramètre de restapi_id chemin indique API la valeur avec laquelle la API définition fournie sera fusionnée.

L'extrait de code suivant montre un exemple de PUT demande de fusion d'une OpenAPI API définitionJSON, en tant que charge utile, avec celle API déjà spécifiée dans Gateway. API

PUT /restapis/<restapi_id>?mode=merge Host:apigateway.<region>.amazonaws.com Content-Type: application/json Content-Length: ... An OpenAPI API definition in JSON

L'opération de mise à jour par fusion prend deux API définitions complètes et les fusionne. Pour une petite modification incrémentielle, vous pouvez utiliser l'opération de mise à jour des ressources.

Pour remplacer unAPI, envoyez une PUT demande àhttps://apigateway.<region>.amazonaws.com/restapis/<restapi_id>?mode=overwrite. Le paramètre restapi_id path indique API ce qui sera remplacé par les API définitions fournies.

L'extrait de code suivant montre un exemple de demande de remplacement avec la charge utile d'une définition formatée : JSON OpenAPI

PUT /restapis/<restapi_id>?mode=overwrite Host:apigateway.<region>.amazonaws.com Content-Type: application/json Content-Length: ... An OpenAPI API definition in JSON

Lorsque le paramètre mode de la requête n'est pas spécifié, le mode de fusion est sélectionné par défaut.

Note

Les opérations PUT sont idempotentes, mais pas atomiques. Cela signifie que si une erreur système survient en cours de traitement, elle API peut se retrouver dans un mauvais état. Cependant, la répétition réussie de l'opération place le API dans le même état final que si la première opération avait réussi.