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.
Recréez un mappage d'API à l'aide de règles de routage
Vous pouvez recréer un mappage d'API à l'aide de règles de routage. Pour recréer un mappage d'API, assurez-vous d'activer le découpage des chemins de base. Cela préserve le comportement des mappages d'API. Pour de plus amples informations, veuillez consulter Dénudez la trajectoire de base en fonction des conditions de la trajectoire de base.
Le didacticiel suivant explique comment recréer le mappage d'API https://
en tant que règle de routage et comment mettre à jour vos journaux d'accès pour enregistrer la règle de routage ID qu'API Gateway utilise pour envoyer du trafic vers votre API.api.example.com
/orders/v2/items/categories/5
- AWS Management Console
-
Pour définir le mode de routage sur ROUTING_RULE_THEN_ API_MAPPING
Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.
Sélectionnez Noms de domaine personnalisés dans le volet de navigation principal.
-
Choisissez votre nom de domaine personnalisé.
-
Pour les détails du domaine, choisissez Modifier.
-
Pour le mode de routage, choisissez API_MAPPINGROUTING_RULE_THEN_.
-
Choisissez Enregistrer.
Après avoir défini le mode de routage, vous créez la règle de routage.
Pour créer la règle de routage
-
Dans l'onglet Détails du routage, choisissez Ajouter une règle de routage.
-
Choisissez Ajouter une nouvelle condition, puis Path.
-
Pour Path, entrez
orders/v2/items/categories/5
. -
Pour Strip base path, choisissez Active.
Pour l'API cible, choisissez votre API cible.
Pour Étape cible, choisissez votre étape cible.
-
Choisissez Suivant.
-
Dans le champ Priorité, entrez une priorité.
Même si vous conservez votre mappage d'API existant, API Gateway utilisera toujours la nouvelle règle de routage, car les règles de routage ont toujours la priorité sur les mappages d'API.
Sélectionnez Enregistrer les modifications.
Après avoir créé la règle de routage, mettez à jour le format du journal d'accès pour votre étape ou créez un nouveau journal pour confirmer qu'API Gateway utilise votre règle de routage pour envoyer du trafic vers votre API.
Pour mettre à jour vos journaux d'accès
Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.
Choisissez votre API.
Dans le volet de navigation principal, choisissez Étapes.
Pour Journaux et suivi, choisissez Modifier.
Si vous n'avez pas de groupe de journaux, consultezConfiguration de la CloudWatch journalisation pour REST APIs dans API Gateway.
Ajoutez
$context.customDomain.routingRuleIdMatched
à votre format de journal.Ce groupe de journaux enregistre l'ID de règle de routage utilisé par API Gateway pour envoyer du trafic vers votre API. Pour de plus amples informations, veuillez consulter Je ne peux pas dire comment API Gateway a envoyé du trafic à mon APIs.
Choisissez Enregistrer.
Après avoir mis à jour vos journaux d'accès, invoquez votre nom de domaine personnalisé. Voici un exemple de commande curl permettant d'invoquer le nom de domaine personnalisé
https://
avec le cheminapi.example.com
orders/v2/items/categories/5
de base.curl "https://
api.example.com
/orders/v2/items/categories/5"Après avoir invoqué avec succès votre nom de domaine personnalisé, vérifiez que CloudWatch Logs affiche le
routingRuleIdMatched
. Pour savoir comment utiliser la console CloudWatch Logs pour afficher un groupe de journaux, consultezAfficher les événements du journal d'API Gateway dans la CloudWatch console. - AWS CLI
-
-
Utilisez la update-domain-namecommande suivante pour mettre à jour le nom de domaine
afin d'utiliser le mode de routageapi.example.com
ROUTING_RULE_THEN_API_MAPPING
.aws apigatewayv2 update-domain-name \ --domain-name '
api.example.com
' \ --routing-mode ROUTING_RULE_THEN_API_MAPPING -
Utilisez la create-routing-rulecommande suivante pour créer une nouvelle règle de routage afin de recréer le mappage
https://
d'API.api.example.com
/orders/v2/items/categories/5aws apigatewayv2 create-routing-rule \ --domain-name '
api.example.com
' \ --priority 50 \ --conditions '[ { "MatchBasePaths": { "AnyOf": [ "orders/v2/items/categories/5" ] } } ]' \ --actions '[ { "InvokeApi": { "ApiId": "a1b2c3", "Stage": "prod", "StripBasePath": true } } ]' -
Utilisez la commande update-stage suivante pour mettre à jour le format des journaux d'accès afin d'inclure la
$context.customDomain.routingRuleIdMatched
variable. Cette variable enregistre l'ID de règle de routage utilisé par API Gateway pour envoyer du trafic vers votre API. Vous utilisez ce journal pour confirmer qu'API Gateway utilise votre règle de routage pour envoyer du trafic vers votre API. Pour de plus amples informations, veuillez consulter Je ne peux pas dire comment API Gateway a envoyé du trafic à mon APIs.aws apigateway update-stage \ --rest-api-id
a1bc2c3
\ --stage-name prod \ --patch-operations "op=replace,path=/accessLogSettings/format,value='\$context.path \$context.customDomain.routingRuleIdMatched \$context.requestId \$context.extendedRequestId'"Si vous n'avez pas de groupe de journaux, consultezConfiguration de la CloudWatch journalisation pour REST APIs dans API Gateway.
-
Utilisez l'exemple de commande curl suivant pour appeler votre nom de domaine personnalisé avec le chemin
orders/v2/items/categories/5
de base.curl "https://
api.example.com
/orders/v2/items/categories/5 -
Utilisez la filter-log-eventscommande suivante pour obtenir les événements du journal à partir du groupe de journaux
access-log-group-orders
contenant l'ID de règle de routageabc123
.aws logs filter-log-events --log-group-name access-log-group-orders --filter-pattern abc123
Cela confirme qu'API Gateway a utilisé la règle de routage pour envoyer du trafic vers votre API.
-