

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

# Comprendere come funziona la sincronizzazione
<a name="s3-files-synchronization"></a>

S3 Files mantiene il file system e il bucket S3 collegato sincronizzati automaticamente. I dati che utilizzi attivamente vengono copiati nel file system, quindi puoi leggere e scrivere file utilizzando le operazioni standard di Linux sui file a bassa latenza. S3 Files richiede che S3 Versioning sia abilitato sul bucket S3 collegato. Quando modifichi i file sul file system, S3 Files copia le modifiche nel bucket S3 come nuove versioni degli oggetti corrispondenti, assicurandosi che le vecchie versioni vengano preservate. Quando altre applicazioni aggiungono, modificano o eliminano oggetti nel bucket S3, S3 Files riflette automaticamente tali modifiche nel file system. [Quando si verifica un conflitto dovuto a modifiche simultanee agli stessi dati sia nel file system che nel bucket S3, S3 Files considera il bucket S3 come fonte di verità in caso di conflitti.](#s3-files-sync-source-of-truth)

Per ottimizzare i costi di archiviazione, S3 Files rimuove dal file system i dati non utilizzati di recente. I dati rimangono archiviati in modo duraturo nel bucket S3 collegato e vengono recuperati nel file system al successivo accesso.

## Il bucket S3 è accessibile tramite il file system
<a name="s3-files-sync-bucket-accessible"></a>

Dopo aver creato un file system S3, puoi [montare i bucket S3 su risorse di elaborazione e iniziare subito ad accedere ai dati del bucket](s3-files-attach-compute.md) S3. Per impostazione predefinita, quando accedi per la prima volta a una directory elencandone il contenuto o aprendo un file al suo interno, S3 Files importa i metadati per tutti i file in quella directory, insieme ai dati per i file di dimensioni inferiori alla soglia di importazione (impostazione predefinita 128 KB) dal bucket S3. Il primo accesso a una directory potrebbe avere una latenza maggiore, ma le letture e le scritture successive sono notevolmente più veloci. Importando i metadati in anticipo, S3 Files consente di sfogliare il contenuto delle directory, visualizzare le dimensioni dei file e controllare le autorizzazioni a bassa latenza.

Ad esempio, supponiamo che il bucket S3 contenga un prefisso con 1.000 oggetti. `data/images/` Alla prima esecuzione`ls /mnt/s3files/data/images/`, S3 Files importa i metadati per tutti i 1.000 file e copia in modo asincrono i dati per i file al di sotto della soglia di importazione nel file system. Questo elenco iniziale può richiedere alcuni secondi, ma i comandi successivi, come o `cat` su singoli file in quella directory `ls -la``stat`, vengono restituiti a bassa latenza.

Per i file di dimensioni superiori alla soglia di importazione, S3 Files importa solo i metadati, mentre i dati non vengono copiati nel file system e vengono invece letti direttamente dal bucket S3 quando vi si accede. Puoi modificare questa soglia per adattarla meglio al tuo carico di lavoro. Ad esempio, puoi aumentarla per importare in anticipo più dati per carichi di lavoro che accedono ripetutamente agli stessi file e traggono vantaggio da letture a bassa latenza. Per i carichi di lavoro che trasmettono dati in modo sequenziale, una soglia più bassa può essere più conveniente, poiché il vantaggio in termini di latenza derivante dall'importazione anticipata dei dati è meno significativo quando i dati vengono letti in sequenza in blocchi di grandi dimensioni anziché in piccole letture casuali. Per ulteriori informazioni, consulta [Personalizzazione della sincronizzazione per i file S3](s3-files-synchronization-customizing.md).

## Le modifiche al file system si riflettono automaticamente nel bucket S3
<a name="s3-files-sync-changes-to-bucket"></a>

Quando crei, modifichi o elimini file nel file system, S3 Files copia automaticamente tali modifiche nel tuo bucket S3. I nuovi file diventano nuovi oggetti S3, le modifiche ai file esistenti diventano nuove versioni degli oggetti e i file eliminati diventano marcatori di eliminazione S3.

Le autorizzazioni POSIX impostate su file e directory tramite il file system, come proprietario (UID), gruppo (GID) e bit di autorizzazione, vengono archiviate come metadati degli oggetti S3 definiti dall'utente sugli oggetti S3 corrispondenti. Quando modifichi le autorizzazioni utilizzando o `chmod``chown`, S3 Files esporta tali modifiche nel tuo `chgrp` bucket S3 insieme a qualsiasi modifica ai dati. Quando S3 Files importa oggetti dal bucket S3, legge questi metadati e applica le autorizzazioni POSIX corrispondenti sul file system. Agli oggetti che non dispongono di metadati di autorizzazione POSIX vengono assegnate autorizzazioni predefinite.

Quando modifichi un file nel file system, S3 Files attende fino a 60 secondi, aggregando tutte le modifiche successive al file in quel lasso di tempo, prima di copiarlo nel tuo bucket S3. Ciò significa che le scritture successive rapide sullo stesso file vengono acquisite in una singola richiesta S3 PUT anziché generare una nuova versione dell'oggetto per ogni singola modifica, riducendo i costi delle richieste S3 e i costi di archiviazione. Se continui a modificare il file dopo che S3 Files ha copiato le modifiche nel bucket S3, copierà le modifiche successive secondo necessità.

Ad esempio, se un'applicazione apre un file di registro e lo aggiunge 50 volte nell'arco di 30 secondi, S3 Files raggruppa tutti i 50 allegati in un'unica richiesta PUT S3. Se l'applicazione continua a scrivere dopo la prima sincronizzazione, S3 Files copia le modifiche aggiuntive in una sincronizzazione successiva.

## Le modifiche nel bucket S3 vengono visualizzate automaticamente nel file system
<a name="s3-files-sync-changes-from-bucket"></a>

S3 Files monitora le modifiche nel bucket S3 utilizzando le notifiche degli eventi S3. Quando un'altra applicazione che funziona con l'API S3 aggiunge, modifica o elimina oggetti nel bucket S3, S3 Files riflette automaticamente tali modifiche nel file system per i file i cui dati sono attualmente archiviati nello storage ad alte prestazioni del file system. I file i cui dati sono scaduti dal file system non vengono aggiornati fino al successivo accesso, a quel punto S3 Files recupera l'ultima versione dal bucket S3.

## Comprendere l'impatto delle operazioni di ridenominazione e spostamento
<a name="s3-files-sync-rename-move"></a>

Amazon S3 utilizza una struttura di storage piatta in cui gli oggetti sono identificati dai loro nomi chiave. Sebbene S3 Files ti consenta di organizzare i dati in directory, S3 non ha un concetto nativo di directory. Ciò che appare come una directory nel file system è un prefisso comune condiviso dalle chiavi degli oggetti all'interno del bucket S3. Inoltre, gli oggetti S3 sono immutabili e non supportano le ridenominazioni atomiche. Di conseguenza, quando rinomini o sposti un file, S3 Files deve scrivere i dati su un nuovo oggetto con la chiave aggiornata ed eliminare l'originale. Quando rinomini o sposti una directory, S3 Files deve ripetere questo processo per ogni oggetto che condivide quel prefisso. Pertanto, quando rinomini o sposti una directory contenente decine di milioni di file, i costi delle richieste S3 e il tempo di sincronizzazione aumentano in modo significativo.

S3 Files restituisce un errore quando si tenta di creare un file system con un prefisso con più di 125 milioni di oggetti. Questo errore ti avvisa che operazioni di ridenominazione o spostamento ricorsive di grandi dimensioni possono influire sulle prestazioni del file system, poiché ogni file richiede richieste di scrittura ed eliminazione separate nel bucket S3. Se desideri comunque creare un file system con ambito a quel prefisso, puoi aggiungere il parametro. `--AcceptBucketWarning`

Poiché S3 Files rinomina gli oggetti singolarmente nel bucket S3, entrambe le directory saranno visibili sul bucket S3 fino al completamento della ridenominazione. Gli oggetti scritti dopo la ridenominazione della directory ma prima che la ridenominazione sia completamente sincronizzata non verranno spostati. Per semplificare il lavoro di riorganizzazione dei dati, si consiglia di non creare nuovi oggetti tramite il bucket S3 durante la ridenominazione di una directory corrispondente.

Ad esempio, se esegui`mv /mnt/s3files/projects/alpha /mnt/s3files/projects/beta`, la ridenominazione viene completata istantaneamente sul file system. Nel bucket S3, S3 Files inizia a copiare ed eliminare ogni oggetto nella sua nuova chiave all'interno del bucket S3 (sostituendo il prefisso con) e a eliminare l'originale. `projects/alpha/` `projects/beta/` Durante questo processo, il bucket S3 contiene temporaneamente oggetti in entrambi e. `projects/alpha/` `projects/beta/` Una volta che tutti gli oggetti sono stati spostati, ne rimane solo `projects/beta/` uno.

## I dati non utilizzati vengono eliminati dal file system per ottimizzare l'archiviazione
<a name="s3-files-sync-expiration"></a>

S3 Files ottimizza i costi di archiviazione rimuovendo automaticamente dal file system i dati dei file che non sono stati letti di recente. I tuoi dati rimangono archiviati in modo sicuro nel tuo bucket S3. S3 Files rimuove solo la copia dal file system. I metadati dei file, come nomi, dimensioni e autorizzazioni, non vengono mai rimossi dal file system, quindi puoi continuare a navigare nel file system a bassa latenza.

Se un file nel file system non viene letto da 30 giorni (configurabile) e le relative modifiche sono già state sincronizzate nel bucket S3, S3 Files rimuove i dati del file dal file system. La prossima volta che leggi quel file, S3 Files recupera la versione più recente dell'oggetto corrispondente dal bucket S3 e la copia nuovamente nel file system.

Ad esempio, supponiamo di elaborare un set di dati `/mnt/s3files/data/batch-jan.parquet` a gennaio e di non accedervi più. Dopo 30 giorni, S3 Files rimuove i dati del file dal file system. Il file appare ancora negli elenchi delle directory con le dimensioni e le autorizzazioni corrette, ma i dati non si trovano più nel file system. Quando rileggi il file ad aprile, S3 Files lo recupera dal bucket S3 e lo copia nuovamente nel file system. La prima lettura può avere una latenza maggiore, ma le letture successive sono veloci.

## Il bucket S3 è la fonte della verità in caso di conflitti
<a name="s3-files-sync-source-of-truth"></a>

Si verifica un conflitto quando lo stesso file è stato modificato tramite il file system e anche l'oggetto S3 corrispondente è cambiato prima che S3 Files sincronizzasse le modifiche del file system nel bucket S3. Ad esempio, è possibile modificare un file tramite il file system montato mentre un'altra applicazione carica o elimina una nuova versione dell'oggetto corrispondente direttamente nel bucket S3 collegato.

S3 Files rileva i conflitti quando tenta di sincronizzare le modifiche del file system con il bucket S3 o quando riceve una notifica di evento S3 che indica che l'oggetto è cambiato. Il bucket S3 funge da archivio a lungo termine per i dati, quindi S3 Files considera il bucket S3 come fonte di verità in caso di conflitto. Ciò garantisce una coerenza prevedibile, garantendo che la versione nel bucket S3 abbia sempre la precedenza. In caso di conflitto, S3 Files sposta il file in conflitto dalla sua posizione corrente nel file system in una directory smarrita e importa la versione più recente dal bucket S3 collegato nel file system.

Ad esempio, supponiamo di modificare `/mnt/s3files/report.csv` tramite il file system. Prima che S3 Files sincronizzi le modifiche nel bucket S3, un'altra applicazione carica una nuova versione direttamente nel bucket S3. `report.csv` Quando S3 Files rileva il conflitto, sposta la versione di nella directory oggetti smarriti e `report.csv` la sostituisce con la versione del bucket S3.

La directory persa e trovata si trova nella directory principale del file system sotto il nome. `.s3files-lost+found-file-system-id` Quando S3 Files sposta un file nella directory degli oggetti smarriti, aggiunge al nome del file un identificatore per distinguere più versioni dello stesso file che potrebbero essere spostate nel tempo. I file nella directory degli oggetti smarriti non vengono copiati nel bucket S3. È possibile eliminare file e copiare file da questa directory, ma non è possibile spostare o rinominare i file al suo interno o eliminare la directory stessa. Se desideri mantenere le modifiche apportate al file system anziché la versione più recente nel bucket S3, copia il file dalla directory degli oggetti smarriti nel percorso originale. Puoi recuperare il percorso originale del file dagli attributi estesi del file nella directory oggetti smarriti. S3 Files lo copierà quindi nel bucket S3 come nuova versione dell'oggetto. Per ulteriori informazioni, consulta [Risoluzione dei problemi relativi ai file S3](s3-files-troubleshooting.md).

**Nota**  
I file in conflitto che S3 Files sposta nella directory Lost and Found rimangono lì a tempo indeterminato e vengono conteggiati ai fini dei costi di archiviazione del file system. È necessario eliminare i file dalla directory degli oggetti smarriti per liberare spazio di archiviazione quando non sono più necessari.

Le impostazioni di sincronizzazione predefinite funzioneranno per la maggior parte dei carichi di lavoro per l'accesso ai dati S3 a bassa latenza e basato su file. Per ulteriori dettagli su come configurare questi parametri, consulta. [Personalizzazione della sincronizzazione per i file S3](s3-files-synchronization-customizing.md)

**Topics**
+ [

## Il bucket S3 è accessibile tramite il file system
](#s3-files-sync-bucket-accessible)
+ [

## Le modifiche al file system si riflettono automaticamente nel bucket S3
](#s3-files-sync-changes-to-bucket)
+ [

## Le modifiche nel bucket S3 vengono visualizzate automaticamente nel file system
](#s3-files-sync-changes-from-bucket)
+ [

## Comprendere l'impatto delle operazioni di ridenominazione e spostamento
](#s3-files-sync-rename-move)
+ [

## I dati non utilizzati vengono eliminati dal file system per ottimizzare l'archiviazione
](#s3-files-sync-expiration)
+ [

## Il bucket S3 è la fonte della verità in caso di conflitti
](#s3-files-sync-source-of-truth)
+ [

# Personalizzazione della sincronizzazione per i file S3
](s3-files-synchronization-customizing.md)

# Personalizzazione della sincronizzazione per i file S3
<a name="s3-files-synchronization-customizing"></a>

S3 Files ti consente di controllare il flusso di dati tra il file system e il bucket S3 collegato tramite una configurazione di sincronizzazione. Le impostazioni predefinite bilanciano latenza e costi per la maggior parte dei carichi di lavoro, ma puoi ottimizzarle in base ai tuoi modelli di accesso. L'importazione anticipata di una maggiore quantità di dati riduce la latenza di lettura a scapito di costi di archiviazione e scrittura più elevati. L'importazione di meno dati mantiene bassi i costi di archiviazione, ma significa che vengono servite più letture da S3 con una latenza più elevata. Ogni configurazione ha due componenti: le regole di importazione dei dati, che controllano quali dati vengono copiati sul file system e quando, e le regole sui dati di scadenza, che controllano per quanto tempo i dati inutilizzati rimangono nel file system. È possibile aggiornare queste regole utilizzando la console di AWS gestione o l' PutSynchronizationConfiguration API.

## Regole di importazione dei dati
<a name="s3-files-sync-import-rules"></a>

Le regole di importazione dei dati controllano il modo in cui i dati vengono copiati dal bucket al file system. È possibile avere un massimo di 10 regole di importazione dei dati per file system. Ogni regola di importazione dei dati ha i seguenti parametri:

**prefisso**: il prefisso S3 a cui si applica la regola. Specificate una stringa vuota («») per l'intero bucket (ambito del file system) o un prefisso specifico (ad esempio, «data/ml/») all'interno del file system. Il prefisso deve terminare con una barra (/), a meno che non si specifichi l'intero bucket con «». È necessario includere esattamente una regola di importazione per la directory principale. Impostazione predefinita: «» (intero bucket o ambito del file system).

**trigger** — Quando importare i dati: ON\$1DIRECTORY\$1FIRST\$1ACCESS o ON\$1FILE\$1ACCESS. Impostazione predefinita: ON\$1DIRECTORY\$1FIRST\$1ACCESS.
+ **ON\$1DIRECTORY\$1FIRST\$1ACCESS: i dati del file vengono importati quando si accede per la prima volta a una directory**. Ad esempio, quando accedete per la prima volta a una directory elencandone il contenuto o aprendo un file al suo interno, vengono importati i dati per tutti i file figlio immediati presenti in quella directory di dimensioni inferiori alla soglia. sizeLessThan Questa opzione è utile per i carichi di lavoro che richiedono una bassa latenza al primo accesso ai file.
+ **ON\$1FILE\$1ACCESS** — I dati del file vengono importati solo quando un file viene letto per la prima volta. Questa opzione riduce al minimo i dati importati a scapito di una maggiore latenza alla prima lettura.

**sizeLessThan**— Dimensione massima del file (in byte) da importare automaticamente. Sebbene S3 Files importi i metadati per tutti i file, importa solo i dati per i file più piccoli di questa soglia. Minimo: 0 byte (nessun dato importato, i metadati verranno comunque importati). Massimo: 52.673.613.135.872 byte (48 TiB). Impostazione predefinita: 131.072 byte (128 KB).

### Comportamento della corrispondenza dei prefissi
<a name="s3-files-sync-prefix-matching"></a>

Quando più regole di importazione dei dati corrispondono a un file, S3 Files applica la regola con il prefisso più specifico. Ad esempio, supponiamo di avere tre regole:
+ Regola 1: prefisso = «» (intero bucket), sizeLessThan = 64 KB, trigger = ON\$1FILE\$1ACCESS
+ Regola 2: prefisso = «hot/», = 1 MB, trigger = ON\$1DIRECTORY\$1FIRST\$1ACCESS sizeLessThan 
+ Regola 3: prefisso = «HOT/LargeData/», = 256 KB, trigger = ON\$1DIRECTORY\$1FIRST\$1ACCESS sizeLessThan 

Per un file in hot/largeData/data.txt, S3 Files applies Rule 3. For a file at hot/data.txt, S3 Files applies Rule 2. For a file at cold/data formato.txt, S3 Files applica la regola 1 perché non esiste una regola specifica per il prefisso cold/.

## Regole relative ai dati di scadenza
<a name="s3-files-sync-expiration-rules"></a>

Le regole relative ai dati di scadenza controllano quando i dati non utilizzati vengono rimossi dal file system per ottimizzare i costi di archiviazione. S3 Files rimuove i dati dopo che non sono stati letti per una durata specificata e le modifiche sono già state sincronizzate con il bucket S3. Ogni volta che un file viene letto, il relativo timer di scadenza si reimposta, prolungando il tempo di permanenza dei dati nel file system. È possibile specificare il seguente parametro nelle regole relative ai dati di scadenza:

**daysAfterLastAccesso**: numero di giorni dopo l'ultima lettura quando i dati vengono rimossi dal file system. Minimo: 1 giorno. Massimo: 365 giorni. Impostazione predefinita: 30 giorni.

Se hai carichi di lavoro di lunga durata che accedono spesso agli stessi dati, prendi in considerazione periodi di scadenza più lunghi (30-90 giorni). Per i dati temporanei, prendi in considerazione periodi più brevi (1-7 giorni).

## Configurazioni di esempio
<a name="s3-files-sync-example-configs"></a>

**Condivisione di file per scopi generici (configurazione predefinita)**: un team di sviluppatori e data scientist monta un file system S3 per condividere codice, file di configurazione e set di dati di piccole dimensioni. La maggior parte dei file ha una dimensione inferiore a 128 KB e viene letta ripetutamente nel corso della giornata. La configurazione predefinita è ideale per questo carico di lavoro: ON\$1DIRECTORY\$1FIRST\$1ACCESS importa metadati e dati di file di piccole dimensioni quando si accede per la prima volta a qualsiasi file in una directory, il che funziona bene quando è probabile che si acceda contemporaneamente ai file nella stessa directory, come i file di origine in un progetto o i file di configurazione in una distribuzione. L'accesso successivo da parte di qualsiasi utente è rapido. Quando un utente apre un file di grandi dimensioni, ad esempio un archivio di log, S3 Files lo trasmette automaticamente direttamente da S3 per un throughput elevato. La finestra di scadenza di 30 giorni mantiene i file utilizzati attivamente sul file system senza pulizia manuale.

**Formazione sul machine learning con letture ripetute**: un processo di formazione legge migliaia di file di piccole dimensioni (<10 MB) ripetutamente in più epoche. Per ridurre al minimo la latenza, impostate una sizeLessThan soglia alta (ad esempio, 10 MB) con ON\$1DIRECTORY\$1FIRST\$1ACCESS in modo che i dati dei file vengano precaricati quando lo script di training elenca per la prima volta ciascuna directory. Imposta una scadenza breve (ad esempio, 3 giorni) in modo che i dati vengano rimossi dal file system subito dopo il completamento del processo di formazione.

**Carichi di lavoro agentici con ampio rilevamento dei file**: un agente di intelligenza artificiale esplora un ampio archivio di documenti, codice o file di knowledge base per rispondere alle domande, leggendo molti file di piccole dimensioni una volta mentre cerca il contesto pertinente. Imposta su 0 sizeLessThan in modo che nessun dato venga importato nel file system. L'agente può sfogliare l'intero albero di directory a bassa latenza per scoprire i file, mentre ogni file letto viene fornito direttamente da S3. Ciò mantiene bassi i costi per i carichi di lavoro che toccano molti file in modo imprevedibile ma che raramente rivisitano lo stesso file, e si ridimensiona naturalmente man mano che si aggiungono più agenti che leggono in parallelo.

**Prefissi caldi e freddi: un file system contiene sia i** file di configurazione a cui si accede di frequente che i dati di archivio a cui si accede raramente. `config/` `archive/` Crea due regole di importazione: una per `config/` con un valore alto sizeLessThan e ON\$1DIRECTORY\$1FIRST\$1ACCESS e una per con impostato su 0 e ON\$1FILE\$1ACCESS. `archive/` sizeLessThan Ciò mantiene i file di configurazione sul file system per un accesso rapido, evitando al contempo i costi di archiviazione per i dati di archiviazione che vengono letti raramente.