

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à.

# Nuova creazione di una mappatura API utilizzando le regole di routing
<a name="rest-api-routing-rules-recreate-api-mapping"></a>

È possibile creare nuovamente una mappatura API utilizzando le regole di routing. Per creare nuovamente una mappatura API, è necessario attivare l’eliminazione del percorso di base. Questo approccio preserva il comportamento delle mappature API. Per ulteriori informazioni, consulta [Eliminazione del percorso di base con le condizioni di percorso base](rest-api-routing-rules.md#rest-api-routing-rules-condition-path-split).

Il seguente tutorial mostra come creare nuovamente la mappatura API `https:// api.example.com/orders/v2/items/categories/5` come regola di routing e come aggiornare i log di accesso per registrare l’ID della regola di routing che Gateway API utilizza per inviare il traffico all’API.

------
#### [ Console di gestione AWS ]

**Per impostare la modalità di routing su ROUTING\$1RULE\$1THEN\$1 API\$1MAPPING**

1. Accedi alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Scegliere **Custom Domain Names (Nomi di dominio personalizzati)** nel riquadro di navigazione principale. 

1. Scegliere il nome di dominio personalizzato.

1. Per **Dettagli del dominio**, scegliere **Modifica**.

1. **Per la modalità **Routing, scegliete ROUTING\$1RULE\$1THEN\$1**. API\$1MAPPING**

1. Seleziona **Salva** 

Dopo aver impostato la modalità di routing, si crea la regola di routing.

**Per creare la regola di routing**

1. Nella scheda **Dettagli di routing**, scegliere **Aggiungi una regola di routing**.

1. Scegliere **Aggiungi una nuova condizione** e quindi scegliere **Percorso**.

1. Per **Percorso**, immettere **orders/v2/items/categories/5**.

1. Per **Percorso base della striscia**, scegliere **Attivo**.

1. Per **API di destinazione**, scegliere l’API di destinazione desiderata.

1. Per **Fase di destinazione**, scegliere la fase di destinazione desiderata.

1. Scegli **Next (Successivo)**.

1. Per Priorità, immettere una priorità.

   Anche se si mantiene la mappatura API esistente, Gateway API utilizzerà sempre la nuova regola di routing poiché le regole di routing hanno sempre la priorità sulle mappature API.

1. Scegli **Save changes** (Salva modifiche).

Dopo aver creato la regola di routing, si aggiorna il formato del log di accesso per la fase o si crea un nuovo log per verificare che Gateway API utilizzi la regola di routing per inviare traffico all’API.

**Per aggiornare i log di accesso**

1. Accedi alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Scegliere l'API.

1. Nel riquadro di navigazione principale scegli **Fasi**.

1. Per **Log e tracciamento**, scegliere **Modifica**.

   Se non è disponibile un gruppo di log, consulta [Configurare la CloudWatch registrazione per REST APIs in API Gateway](set-up-logging.md).

1. Aggiungere **\$1context.customDomain.routingRuleIdMatched** al formato dei log.

   Questo gruppo di log registra l’ID della regola di routing utilizzato da Gateway API per inviare il traffico all’API. Per ulteriori informazioni, consulta [Non riesco a capire come API Gateway abbia inviato il traffico al mio APIs](rest-api-routing-rules-troubleshoot.md#rest-api-routing-rules-logging).

1. Scegli **Save** (Salva).

Dopo aver aggiornato i log di accesso, si invoca del nome di dominio personalizzato. Di seguito è riportato un esempio di comando curl per invocare il nome di dominio personalizzato `https://api.example.com` con il percorso di base `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 Logs mostri il. CloudWatch `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](view-cloudwatch-log-events-in-cloudwatch-console.md)

------
#### [ AWS CLI ]

1. Utilizzare il [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-domain-name.html)comando seguente per aggiornare il nome di dominio in `api.example.com` modo da utilizzare la modalità di routing. `ROUTING_RULE_THEN_API_MAPPING`

   ```
   aws apigatewayv2 update-domain-name \
     --domain-name 'api.example.com' \
     --routing-mode ROUTING_RULE_THEN_API_MAPPING
   ```

1. Utilizzare il [create-routing-rule](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-routing-rule.html)comando seguente per creare una nuova regola di routing per ricreare la mappatura delle API. `https://api.example.com/orders/v2/items/categories/5`

   ```
   aws 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
       }
     }
   ]'
   ```

1. Utilizza il seguente comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) 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 Gateway API per inviare il traffico all’API. Questo log si usa per verificare che Gateway API utilizzi la regola di routing per inviare traffico all’API. Per ulteriori informazioni, consulta [Non riesco a capire come API Gateway abbia inviato il traffico al mio APIs](rest-api-routing-rules-troubleshoot.md#rest-api-routing-rules-logging).

   ```
   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 è disponibile un gruppo di log, consulta [Configurare la CloudWatch registrazione per REST APIs in API Gateway](set-up-logging.md).

1. Utilizza il seguente comando curl di esempio per invocare il nome di dominio personalizzato con il percorso di base `orders/v2/items/categories/5`.

   ```
   curl "https://api.example.com/orders/v2/items/categories/5
   ```

1. Utilizzate il [filter-log-events](https://docs.aws.amazon.com/cli/latest/reference/logs/filter-log-events.html)comando 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
   ```

    Questo comando conferma che Gateway API utilizza la regola di routing per inviare traffico all’API.

------