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à.
Ricrea una mappatura delle API utilizzando le regole di routing
È possibile ricreare una mappatura delle API utilizzando le regole di routing. Per ricreare una mappatura delle API, assicurati di attivare lo striping del percorso di base. Ciò preserva il comportamento delle mappature delle API. Per ulteriori informazioni, consulta Rimuovi il percorso di base con le condizioni del percorso base.
Il seguente tutorial mostra come ricreare la mappatura delle API https://
come regola di routing e come aggiornare i log di accesso per registrare la regola di routing che l'ID API Gateway utilizza per inviare traffico all'API.api.example.com
/orders/v2/items/categories/5
- AWS Management Console
-
Per impostare la modalità di routing su ROUTING_RULE_THEN_ API_MAPPING
Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.
Scegliere Custom Domain Names (Nomi di dominio personalizzati) nel riquadro di navigazione principale.
-
Scegli il tuo nome di dominio personalizzato.
-
Per i dettagli del dominio, scegli Modifica.
-
Per la modalità Routing, scegliete API_MAPPINGROUTING_RULE_THEN_.
-
Seleziona Salva
Dopo aver impostato la modalità di routing, create la regola di routing.
Per creare la regola di routing
-
Nella scheda Dettagli di routing, scegli Aggiungi regola di routing.
-
Scegli Aggiungi nuova condizione, quindi scegli Percorso.
-
Per Path, inserisci
orders/v2/items/categories/5
. -
Per Strip base path, scegliete Active.
Per Target API, scegli la tua API di destinazione.
Per Target stage, scegli la tua fase di destinazione.
-
Scegli Next (Successivo).
-
Per priorità, inserisci una priorità.
Anche se mantieni la mappatura delle API esistente, API Gateway utilizzerà sempre la nuova regola di routing poiché le regole di routing hanno sempre la priorità sulle mappature delle API.
Scegli Save changes (Salva modifiche).
Dopo aver creato la regola di routing, aggiorna il formato del log di accesso per lo stage o crea un nuovo registro per confermare che API Gateway utilizza la regola di routing per inviare traffico alla tua API.
Per aggiornare i log di accesso
Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.
Scegliere l'API.
Nel riquadro di navigazione principale scegli Fasi.
Per Registri e tracciamento, scegli Modifica.
Se non disponi di un gruppo di log, consulta. Configurare la CloudWatch registrazione per REST APIs in API Gateway
Aggiungi
$context.customDomain.routingRuleIdMatched
al tuo formato di registro.Questo gruppo di log registra l'ID della regola di routing utilizzata da API Gateway per inviare il traffico all'API. Per ulteriori informazioni, consulta Non riesco a capire come API Gateway abbia inviato il traffico al mio APIs.
Scegli Save (Salva).
Dopo aver aggiornato i log di accesso, richiama il nome di dominio personalizzato. Di seguito è riportato un esempio di comando curl per richiamare il nome di dominio personalizzato
https://
con il percorso di base.api.example.com
orders/v2/items/categories/5
curl "https://
api.example.com
/orders/v2/items/categories/5"Dopo aver richiamato con successo il nome di dominio personalizzato, conferma che CloudWatch Logs mostri il.
routingRuleIdMatched
Per informazioni su come utilizzare la console CloudWatch Logs per visualizzare un gruppo di log, consulta. Visualizza gli eventi di registro dell'API Gateway nella CloudWatch console - AWS CLI
-
-
Utilizzare il update-domain-namecomando seguente per aggiornare il nome di dominio in
modo da utilizzare la modalità di routing.api.example.com
ROUTING_RULE_THEN_API_MAPPING
aws apigatewayv2 update-domain-name \ --domain-name '
api.example.com
' \ --routing-mode ROUTING_RULE_THEN_API_MAPPING -
Utilizzare il create-routing-rulecomando seguente per creare una nuova regola di routing per ricreare la mappatura delle API.
https://
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 } } ]' -
Utilizzate il seguente comando update-stage per aggiornare il formato dei log di accesso in modo da includere la variabile.
$context.customDomain.routingRuleIdMatched
Questa variabile registra l'ID della regola di routing utilizzata da API Gateway per inviare il traffico all'API. Utilizzi questo registro per confermare che API Gateway utilizza la tua regola di routing per inviare traffico alla tua API. Per ulteriori informazioni, consulta Non riesco a capire come API Gateway abbia inviato il traffico al mio 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'"Se non disponi di un gruppo di log, consultaConfigurare la CloudWatch registrazione per REST APIs in API Gateway.
-
Usa il seguente comando curl di esempio per richiamare il tuo nome di dominio personalizzato con il percorso di base.
orders/v2/items/categories/5
curl "https://
api.example.com
/orders/v2/items/categories/5 -
Utilizzate il filter-log-eventscomando seguente per ottenere gli eventi di registro dal gruppo di log
access-log-group-orders
che contiene l'ID della regola di routing.abc123
aws logs filter-log-events --log-group-name access-log-group-orders --filter-pattern abc123
Ciò conferma che API Gateway ha utilizzato la regola di routing per inviare traffico all'API.
-