Je souhaite utiliser la console Amazon API Gateway ou l'interface de ligne de commande AWS (AWS CLI) pour sauvegarder et restaurer mes API API Gateway.
Résolution
Depuis API Gateway, exportez une API REST ou une API HTTP vers un fichier de définition Swagger ou OpenAPI 3. Puis, importez l'API dans API Gateway.
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Exporter l'API REST ou l'API HTTP
Console API Gateway
Procédez comme suit :
- Ouvrez la console API Gateway.
- Sélectionnez votre API REST ou HTTP.
- Pour les API REST, déployez votre API sur une étape.
- Dans le volet Éditeur d’étapes, choisissez Actions d’étape, puis choisissez Exporter.
- Pour Type de spécification d'API, choisissez Swagger ou OpenAPI 3.
- Pour Format, choisissez JSON ou YAML en fonction de votre type de fichier préféré pour le téléchargement du fichier de définition de l'API.
- Pour Extensions, choisissez l'une des options suivantes :
Exporter sans extensions
Exporter avec les extensions API Gateway
Exporter avec les extensions Postman
- Sélectionnez Exporter l’API.
AWS CLI
Pour exporter une API REST, exécutez la commande get-export suivante :
aws apigateway get-export \ --rest-api-id your-api-id \ --stage-name your-stage-name \ --export-type swagger \ --accepts application/json \ --output output.json
Remarque : Remplacez your-api-id par l’ID de votre API et your-stage-name par le nom de votre étape.
Pour exporter une API HTTP, exécutez la commande export-api suivante :
aws apigatewayv2 export-api \ --api-id your-api-id \ --output-type JSON \ --specification HTTP \ --no-include-extensions > http-api-backup.json
**Remarque :**Remplacez your-api-id par l’ID de votre API.
Importer l'API REST
Console API Gateway
Procédez comme suit :
- Ouvrez la console API Gateway.
- Sélectionnez Créer une API.
- Dans API REST, sélectionnez Importer.
- Dans Définition de l'API, utilisez l'une des options suivantes pour importer votre fichier de définition :
Sélectionnez Choisir un fichier, puis sélectionnez votre fichier de définition d'API mis à jour .
-ou-
Saisissez votre définition d'API mise à jour dans le champ de l'éditeur de texte.
- Dans Type de point de terminaison d'API, choisissez l'un des types suivants :
Régional
Optimisé pour la périphérie
Privé
- Choisissez Échec lors d’avertissements pour arrêter une importation en cas d'erreur ou d'avertissement lors de l'importation. Vous pouvez également choisir Ignorer les avertissements pour importer l'API en cas d'erreur ou d'avertissement lors de l'importation.
- Sélectionnez Créer une API.
AWS CLI
Exécutez la commande import-rest-api suivante :
aws apigateway import-rest-api --body 'fileb:///path/to/API_Swagger_template.json'
Importer l'API HTTP
Console API Gateway
Procédez comme suit :
- Ouvrez la console API Gateway.
- Sélectionnez Créer une API.
- Sous API HTTP, choisissez Importer.
- Sous Importer une définition OpenAPI 3, utilisez l'une des options suivantes pour importer votre fichier de définition :
Choisissez Sélectionner un fichier de définition OpenAPI 3, puis sélectionnez votre fichier de définition d'API mis à jour.
-ou-
Saisissez votre définition d'API mise à jour dans le champ de l'éditeur de texte.
- Sélectionnez Créer une API.
AWS CLI
Exécutez la commande import-api suivante :
aws apigatewayv2 import-api \ --body file://api-definition.yaml
Informations connexes
Didacticiel : Créer une API REST en important un exemple
Comment puis-je migrer les API REST API Gateway entre des comptes ou des régions AWS ?
Développer des API REST à l'aide d'OpenAPI dans API Gateway