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à.
Esclusione delle classi di storage Amazon S3
Se esegui processi ETL AWS Glue che leggono file o partizioni da Amazon Simple Storage Service (Amazon S3), puoi escludere alcuni tipi di classe di archiviazione Amazon S3.
Le seguenti classi di storage sono disponibili in Amazon S3:
-
STANDARD: per lo storage generico dei dati a cui si accede di frequente. -
INTELLIGENT_TIERING: per i dati di lunga durata con modelli di accesso sconosciuti o modificati. -
STANDARD_IAeONEZONE_IA: per i dati esistenti da molto tempo a cui si accede meno frequentemente. -
GLACIER,DEEP_ARCHIVEeREDUCED_REDUNDANCY: per l'archiviazione a lungo termine e la conservazione digitale.
Per ulteriori informazioni, consulta Classi di storage Amazon S3 nella Guida per gli sviluppatori di Amazon S3.
Gli esempi in questa sezione mostrano come escludere le classi di storage DEEP_ARCHIVE e GLACIER. Queste classi consentono di elencare i file, ma non di leggere i file a meno che non vengano ripristinati. (Per ulteriori informazioni, consulta Ripristino di oggetti archiviati nella Guida per gli sviluppatori di Amazon S3).
Utilizzando le esclusioni della classe di storage, puoi assicurarti che i processi AWS Glue funzionino su tabelle che dispongono di partizioni tra questi livelli di classi di storage. Senza esclusioni, i processi che leggono i dati da questi livelli hanno esito negativo con il seguente errore: AmazonS3Exception: l'operazione non è valida per la classe di storage dell'oggetto.
Esistono diversi modi per filtrare le classi di archiviazione Amazon S3 in AWS Glue.
Argomenti
Esclusione delle classi di storage Amazon S3 durante la creazione di un frame dinamico
Per escludere le classi di archiviazione Amazon S3 durante la creazione di un frame dinamico, utilizza excludeStorageClasses in additionalOptions. AWS Glue utilizza automaticamente la propria implementazione Amazon S3 Lister per elencare ed escludere i file corrispondenti alle classi di archiviazione specificate.
I seguenti esempi Python e Scala mostrano come escludere le classi di storage GLACIER e DEEP_ARCHIVE durante la creazione di un frame dinamico.
Esempio di Python:
glueContext.create_dynamic_frame.from_catalog( database = "my_database", tableName = "my_table_name", redshift_tmp_dir = "", transformation_ctx = "my_transformation_context", additional_options = { "excludeStorageClasses" : ["GLACIER", "DEEP_ARCHIVE"] } )
Esempio di Scala:
val* *df = glueContext.getCatalogSource( nameSpace, tableName, "", "my_transformation_context", additionalOptions = JsonOptions( Map("excludeStorageClasses" -> List("GLACIER", "DEEP_ARCHIVE")) ) ).getDynamicFrame()
Esclusione delle classi di storage Amazon S3 in una tabella del catalogo dati
Puoi specificare le esclusioni della classe di archiviazione che devono essere utilizzate da un processo ETL AWS Glue come un parametro di tabella nel catalogo dati di AWS Glue. Puoi includere questo parametro nell'operazione CreateTable utilizzando AWS Command Line Interface (AWS CLI) o a livello di programmazione utilizzando l'API. Per ulteriori informazioni, consulta Struttura della tabella e CreateTable.
Puoi anche specificare classi di storage escluse nella console AWS Glue.
Per escludere classi di storage Amazon S3 (console)
Accedi alla Console di gestione AWS, quindi apri la console AWS Glue all'indirizzo https://console.aws.amazon.com/glue/
. -
Nel riquadro di navigazione a sinistra, scegliere Tables (Tabelle).
-
Scegliere il nome della tabella nell'elenco, quindi selezionare Edit table (Modifica tabella).
-
In Table properties (Proprietà tabella), aggiungere
excludeStorageClassescome una chiave e[\"GLACIER\",\"DEEP_ARCHIVE\"]come un valore. -
Scegli Applica.