

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

# Impedire a un crawler di modificare uno schema esistente
<a name="crawler-schema-changes-prevent"></a>

 È possibile impedire a Crawler di AWS Glue s di apportare modifiche allo schema del Data Catalog durante l'esecuzione. Per impostazione predefinita, i crawler aggiornano lo schema nel Catalogo dati in modo che corrisponda all'origine dati sottoposta a scansione. Tuttavia, in alcuni casi, potresti voler impedire al crawler di modificare lo schema esistente, specialmente se hai trasformato o pulito i dati e non vuoi che lo schema originale sovrascriva le modifiche.

 Segui questi passaggi per configurare il crawler affinché non sovrascriva lo schema esistente in una definizione di tabella. 

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

1. Accedi a Console di gestione AWS e apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Seleziona **Crawler** nel **Catalogo dati**.

1. Scegli un crawler dall'elenco e seleziona **Modifica**.

1. Scegli la **fase 4: Configurazione dell'output e della pianificazione**.

1. In **Opzioni avanzate**, seleziona **Aggiungi solo nuove colonne** o **Ignora la modifica e non aggiornare la tabella nel Catalogo dati**. 

1.  Puoi anche impostare un'opzione di configurazione per **aggiornare tutte le partizioni nuove ed esistenti con metadati della tabella**. In questo modo gli schemi delle partizioni vengono impostati in modo da ereditare quelli della tabella. 

1. Scegliere **Aggiorna**.

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

Il seguente esempio mostra come configurare un crawler in modo che non modifichi lo schema esistente, ma si limiti ad aggiungere nuove colonne:

```
aws glue update-crawler \
  --name myCrawler \
  --configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": {"AddOrUpdateBehavior": "MergeNewColumns"}}}'
```

Il seguente esempio mostra come configurare un crawler in modo che non modifichi lo schema esistente e non aggiunga nuove colonne:

```
aws glue update-crawler \
  --name myCrawler \
  --schema-change-policy UpdateBehavior=LOG \
  --configuration '{"Version": 1.0, "CrawlerOutput": {"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }}}'
```

------
#### [ API ]

Se non vuoi che uno schema di tabella venga modificato in alcun modo durante l'esecuzione di un crawler, imposta la policy di modifica dello schema su `LOG`. 

Quando configuri il crawler tramite l'API, imposta i parametri seguenti:
+ Imposta il campo `UpdateBehavior` nella struttura `SchemaChangePolicy` su `LOG`.
+  Imposta il campo `Configuration` con una rappresentazione di stringa dell'oggetto JSON seguente nell'API del crawler, ad esempio: 

  ```
  {
     "Version": 1.0,
     "CrawlerOutput": {
        "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }
     }
  }
  ```

------