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 Sie AWS Glue-ETL-Aufträge ausführen, 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 Ihre AWS Glue-Aufträge für Tabellen funktionieren, 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-Speicherklassen in AWS Glue zu filtern.

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

Um Amazon S3-Speicherklassen beim Erstellen eines dynamischen Frames auszuschließen, verwenden Sie excludeStorageClasses in additionalOptions. AWS Glue verwendet automatisch eine eigene Amazon S3 Lister-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 Speicherklassenausschlüsse angeben, die von einem AWS Glue-ETL-Auftrag als Tabellenparameter im AWS Glue Data Catalog verwendet werden sollen. Sie können diesen Parameter mithilfe der AWS Command Line Interface (AWS CLI) oder programmgesteuert mithilfe der API in die CreateTable-Operation einschließen. Weitere Informationen finden Sie unter Tabellenstruktur und CreateTable.

Sie können auch ausgeschlossene Speicherklassen in der AWS Glue-Konsole angeben.

Ausschließen von Amazon-S3-Speicherklassen (Konsole)
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Glue-Konsole unter 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 Apply (Anwenden) aus.