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 stai correndo AWS Glue Nei lavori ETL che leggono file o partizioni da Amazon Simple Storage Service (Amazon S3), è possibile escludere alcuni tipi di classi di storage 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_IA
eONEZONE_IA
: per i dati esistenti da molto tempo a cui si accede meno frequentemente. -
GLACIER
,DEEP_ARCHIVE
eREDUCED_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 delle classi di archiviazione, puoi assicurarti che AWS Glue i job funzioneranno su tabelle con partizioni tra questi livelli di classi di archiviazione. 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 storage di 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 storage Amazon S3 durante la creazione di un frame dinamico, usa excludeStorageClasses
in. additionalOptions
AWS Glue utilizza automaticamente la propria Lister
implementazione Amazon S3 per elencare ed escludere i file corrispondenti alle classi di storage 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 delle classi di storage che devono essere utilizzate da un AWS Glue Job ETL come parametro di tabella nel AWS Glue Data Catalog. È possibile includere questo parametro nell'CreateTable
operazione utilizzando AWS Command Line Interface (AWS CLI) o utilizzando l'API a livello di codice. Per ulteriori informazioni, vedere Struttura della tabella e. CreateTable
È inoltre possibile specificare le classi di archiviazione escluse in AWS Glue console.
Per escludere classi di storage Amazon S3 (console)
Accedi a AWS Management Console e apri AWS Glue console 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
excludeStorageClasses
come una chiave e[\"GLACIER\",\"DEEP_ARCHIVE\"]
come un valore. -
Scegli Applica.