Esclusione delle classi di storage Amazon S3 - AWS Glue

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_IA e ONEZONE_IA: per i dati esistenti da molto tempo a cui si accede meno frequentemente.

  • GLACIER, DEEP_ARCHIVE e REDUCED_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.

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

È possibile specificare le esclusioni delle classi di archiviazione da utilizzare da un processo AWS Glue ETL come parametro di tabella nel AWS Glue Data Catalog. È possibile includere questo parametro nell'CreateTableoperazione utilizzando AWS Command Line Interface (AWS CLI) o utilizzando l'API a livello di codice. Per ulteriori informazioni, vedere Struttura della tabella e. CreateTable

Puoi anche specificare classi di storage escluse nella console AWS Glue.

Per escludere classi di storage Amazon S3 (console)
  1. Accedi a AWS Management Console e apri la AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/.

  2. Nel riquadro di navigazione a sinistra, scegliere Tables (Tabelle).

  3. Scegliere il nome della tabella nell'elenco, quindi selezionare Edit table (Modifica tabella).

  4. In Table properties (Proprietà tabella), aggiungere excludeStorageClasses come una chiave e [\"GLACIER\",\"DEEP_ARCHIVE\"] come un valore.

  5. Scegli Applica.