Ausschließen von Amazon-S3-Speicherklassen - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ausschließen von Amazon-S3-Speicherklassen

Wenn du rennst AWS Glue Bei ETL-Jobs, die Dateien oder Partitionen aus Amazon Simple Storage Service (Amazon S3) lesen, können Sie einige Amazon S3-Speicherklassentypen ausschließen.

Die folgenden Speicherklassen sind in Amazon S3 verfügbar:

  • STANDARD – Für die universelle Speicherung häufig aufgerufener Daten.

  • INTELLIGENT_TIERING – Für Daten mit wechselnden oder unbekannten Zugriffsmustern.

  • STANDARD_IA und ONEZONE_IA – Für langlebige Daten, auf die weniger häufig zugegriffen wird.

  • GLACIER, DEEP_ARCHIVE und REDUCED_REDUNDANCY – Für die Langzeitarchivierung und digitale Archivierung.

Weitere Informationen finden Sie unter Amazon S3 Storage Classes (Amazon-S3-Speicherklassen) im Amazon-S3-Entwicklerhandbuch.

Die Beispiele in diesem Abschnitt zeigen, wie Sie die GLACIER- und DEEP_ARCHIVE-Speicherklassen ausschließen. Mit diesen Klassen können Sie Dateien auflisten, aber Sie können die Dateien nur lesen, wenn sie wiederhergestellt werden. (Weitere Informationen finden Sie unter Restoring Archived Objects (Wiederherstellen archivierter Objekte) im Amazon-S3-Entwicklerhandbuch.)

Durch die Verwendung von Speicherklassenausschlüssen können Sie sicherstellen, dass AWS Glue Jobs funktionieren auf Tabellen, die über Partitionen in diesen Speicherklassenstufen verfügen. Ohne Ausnahmen schlagen Aufträge, die Daten aus diesen Stufen lesen, mit dem folgenden Fehler fehl: AmazonS3Exception: The operation is not valid for the object storage class.

Es gibt verschiedene Möglichkeiten, Amazon S3 S3-Speicherklassen zu filtern AWS Glue.

Ausschließen von Amazon-S3-Speicherklassen beim Erstellen eines Dynamic Frames

Um Amazon S3 S3-Speicherklassen bei der Erstellung eines dynamischen Frames auszuschließen, verwenden Sie excludeStorageClasses inadditionalOptions. AWS Glue verwendet automatisch seine eigene Amazon S3 Lister S3-Implementierung, um Dateien aufzulisten und auszuschließen, die den angegebenen Speicherklassen entsprechen.

Die folgenden Python- und Scala-Beispiele zeigen, wie Sie die Speicherklassen GLACIER und DEEP_ARCHIVE beim Erstellen eines Dynamic Frames ausschließen.

Python-Beispiel:

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"] } )

Scala-Beispiel:

val* *df = glueContext.getCatalogSource( nameSpace, tableName, "", "my_transformation_context", additionalOptions = JsonOptions( Map("excludeStorageClasses" -> List("GLACIER", "DEEP_ARCHIVE")) ) ).getDynamicFrame()

Ausschließen von Amazon-S3-Speicherklassen in einer Data-Catalog-Tabelle

Sie können Ausnahmen für Speicherklassen angeben, die von einem verwendet werden sollen AWS Glue ETL-Job als Tabellenparameter im AWS Glue-Datenkatalog. Sie können diesen Parameter mithilfe von AWS Command Line Interface (AWS CLI) oder programmgesteuert mithilfe der API in den CreateTable Vorgang einbeziehen. Weitere Informationen finden Sie unter Tabellenstruktur und. CreateTable

Sie können auch ausgeschlossene Speicherklassen auf der AWS Glue console.

Ausschließen von Amazon-S3-Speicherklassen (Konsole)
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole bei https://console.aws.amazon.com/glue/.

  2. Wählen Sie im Navigationsbereich auf der linken Seite Tabellen aus.

  3. Wählen Sie den Tabellennamen in der Liste aus und klicken Sie dann auf Edit table (Tabelle bearbeiten).

  4. Fügen Sie unter Table properties (Tabelleneigenschaften) excludeStorageClasses als Schlüssel und [\"GLACIER\",\"DEEP_ARCHIVE\"] als Wert hinzu.

  5. Wählen Sie Anwenden aus.