

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

# Aggiunta di un router a un gruppo di shard del database
<a name="limitless-add-router"></a>

Puoi aggiungere un router a un gruppo di shard del database.

**Topics**
+ [Prerequisiti](#limitless-add-router.prereqs)
+ [Aggiunta di un router](#limitless-add-router.proc)
+ [Monitoraggio delle aggiunte di router](#limitless-add-router.track)
+ [Annullamento dell’aggiunta di un router](#limitless-add-router.cancel)

## Prerequisiti
<a name="limitless-add-router.prereqs"></a>

L’aggiunta di un router prevede i seguenti prerequisiti:
+ È necessario disporre di un gruppo di shard del database.
+ Un utente deve avere il privilegio `rds_aurora_limitless_cluster_admin`. L’`rds_superuser` dispone di questo privilegio, quindi lo possiede anche l’utente master. L’`rds_superuser` può concedere il privilegio ad altri utenti:

  ```
  /* Logged in as the master user or a user with rds_superuser privileges */
  CREATE USER username;
  GRANT rds_aurora_limitless_cluster_admin to username;
  ```
**Nota**  
Se modifichi il certificato CA predefinito dopo la creazione Account AWS del gruppo di shard DB, il nuovo router utilizzerà il nuovo certificato CA, che è diverso dal certificato CA del router esistente. A seconda dell’archivio di trust, alcune connessioni potrebbero non riuscire.
+ Per abilitare l’aggiunta di router avviata dal sistema, imposta i seguenti parametri del cluster di database in un gruppo di parametri personalizzato associato al cluster di database:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/AuroraUserGuide/limitless-add-router.html)

  Per ulteriori informazioni, consulta [Gruppi di parametri del cluster di database per i cluster di database Amazon Aurora](USER_WorkingWithDBClusterParamGroups.md).

## Aggiunta di un router
<a name="limitless-add-router.proc"></a>

Per aggiungere un router, utilizza la funzione `rds_aurora.limitless_add_router`. Questa funzione avvia un processo di aggiunta di router che viene eseguito in modo asincrono.

```
SELECT rds_aurora.limitless_add_router();
```

Attendi la restituzione di un ID di processo correttamente inviato, ad esempio:

```
    job_id
---------------
 1691300000000
(1 row)
```

**Nota**  
Le operazioni concorrenti di aggiunta del router non sono supportate. Esegui le operazioni in sequenza e completa ogni operazione prima di iniziarne un’altra.

## Monitoraggio delle aggiunte di router
<a name="limitless-add-router.track"></a>

Puoi utilizzare l’ID di processo per tenere traccia di un processo di aggiunta di router. Per descrivere un determinato processo e ottenere maggiori dettagli su di esso, esegui la query sotto indicata:

```
SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(job_id);
```

Esempio:

```
SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(1691300000000);

    job_id     |   action   |        job_details       | status  |    submission_time     |                   message                   
---------------+------------+--------------------------+---------+------------------------+-------------------------------------------
 1691300000000 | ADD_ROUTER | Add 1 new Router by User | SUCCESS | 2023-08-06 05:33:20+00 | Scaling job succeeded.                  +
               |            |                          |         |                        | New router instance with ID 7 was created.
(1 row)
```

La query restituisce un errore quando si passa un processo inesistente come input.

```
SELECT * from rds_aurora.limitless_list_router_scale_jobs(1691300000001);

ERROR:  no job found with the job ID provided
```

Puoi tenere traccia dello stato di tutti i processi di aggiunta del router utilizzando la stessa query senza un ID di processo, ad esempio:

```
SELECT * FROM rds_aurora.limitless_list_router_scale_jobs();

    job_id     |   action   |        job_details       |   status    |    submission_time     |                  message                   
---------------+------------+--------------------------+-------------+------------------------+-------------------------------------------
 1691200000000 | ADD_ROUTER | Add 1 new Router by User | IN_PROGRESS | 2023-08-05 01:46:40+00 | 
 1691300000000 | ADD_ROUTER | Add 1 new Router by User | SUCCESS     | 2023-08-06 05:33:20+00 | Scaling job succeeded.                +
               |            |                          |             |                        | New router instance with ID 7 was created.
 1691400000000 | ADD_ROUTER | Add 1 new Router by User | FAILED      | 2023-08-07 09:20:00+00 | Error occurred for the add router job 1691400000000.
               |            |                          |             |                        | Retry the command. If the issue persists, contact AWS Support.
 1691500000000 | ADD_ROUTER | Add 1 new Router by User | CANCELED    | 2023-08-07 09:20:00+00 | Scaling job was cancelled.
(4 rows)
```

Lo stato del processo può essere uno dei seguenti:
+ `IN_PROGRESS`: il processo di aggiunta di router è stato inviato ed è in corso. Puoi avere un solo processo in corso per volta.
+ `CANCELLATION_IN_PROGRESS`: il processo di aggiunta di router è in fase di annullamento da parte dell’utente.
+ `CANCELED`: il processo di aggiunta di router è stato correttamente annullato dall’utente o dal sistema.
+ `SUCCESS`: il processo di aggiunta di router è stato completato correttamente. Il campo `message` contiene l’ID dell’istanza del nuovo router.
+ `FAILED`: il processo di aggiunta di router non è riuscito. Il campo `message` contiene i dettagli dell’errore e tutte le azioni che possono essere intraprese in seguito alla mancata riuscita del processo.

**Nota**  
Non esiste uno stato `PENDING` perché le aggiunte di router non devono essere finalizzate. Non comportano tempi di inattività.

## Annullamento dell’aggiunta di un router
<a name="limitless-add-router.cancel"></a>

Puoi annullare l’aggiunta di un router `IN_PROGRESS`. Per annullare il processo, è necessario il relativo ID.

```
SELECT * from rds_aurora.limitless_cancel_router_scale_jobs(job_id);
```

Non viene restituito alcun output a meno che non si verifichi un errore. Puoi tenere traccia dell’annullamento utilizzando una query di tracciamento del lavoro.