

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

# Gestione delle revisioni nelle definizioni delle mansioni AWS Batch
<a name="batch-jobs"></a>

Questo esempio presuppone che tu stia distribuendo lavori in batch utilizzando il AWS Batch servizio e utilizzando Terraform come strumento IaC.

## Challenge
<a name="batch-job-challenges"></a>

AWS Batch crea una nuova revisione di una definizione di lavoro con ogni aggiornamento, il che porta a un accumulo di revisioni nel tempo. Ciò può complicare la gestione delle risorse e creare confusione sulle revisioni correnti, specialmente negli ambienti aziendali in cui le definizioni delle mansioni vengono aggiornate frequentemente e le risorse a valle richiedono riferimenti accurati alle versioni più recenti.

## Soluzione
<a name="batch-job-solution"></a>

Il seguente codice Terraform utilizza diversi componenti chiave per affrontare la gestione delle revisioni. AWS Batch 

```
resource "terraform_data" "batch_job_definition_cleanup" {
  triggers_replace = {
    always_run = timestamp()
  }

  provisioner "local-exec" {
    command = "..."  # AWS CLI commands to list and de-register older revisions
  }
}
```

In questo codice:
+ `terraform_data`è combinato con un `local-exec` provisioner per eseguire i comandi AWS Command Line Interface (AWS CLI) durante le operazioni Terraform.
+ I trigger Timestamp assicurano che ogni `terraform apply` comando esegua lo script di pulizia.
+ AWS CLI interroga l'integrazione AWS Batch per tutte le revisioni attive delle definizioni dei processi e annulla la registrazione delle revisioni precedenti.
+ È possibile aggiungere una configurazione di conservazione personalizzata alla sezione dei comandi per specificare quante revisioni recenti conservare.

## Vantaggi
<a name="batch-job-benefits"></a>
+ **Gestione semplificata**: impedisce l'accumulo di revisioni obsolete delle definizioni delle mansioni.
+ **Riferimenti chiari**: mantiene indicazioni accurate sulle versioni correnti delle definizioni delle mansioni.
+ **Ottimizzazione delle risorse**: riduce il disordine nell' AWS Batch ambiente.
+ **Automazione**: si integra perfettamente con i flussi di lavoro Terraform esistenti.

Questo approccio dimostra come le funzionalità di estensibilità di Terraform possano superare i limiti dei provider mantenendo le migliori pratiche IaC. È possibile utilizzare questa soluzione come modello per scenari simili in cui sono necessarie la scoperta e la gestione dinamiche delle risorse.