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
undONEZONE_IA
– Für langlebige Daten, auf die weniger häufig zugegriffen wird. -
GLACIER
,DEEP_ARCHIVE
undREDUCED_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.
Themen
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)
Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Glue-Konsole unter https://console.aws.amazon.com/glue/
. -
Wählen Sie im Navigationsbereich auf der linken Seite Tabellen aus.
-
Wählen Sie den Tabellennamen in der Liste aus und klicken Sie dann auf Edit table (Tabelle bearbeiten).
-
Fügen Sie unter Table properties (Tabelleneigenschaften)
excludeStorageClasses
als Schlüssel und[\"GLACIER\",\"DEEP_ARCHIVE\"]
als Wert hinzu. -
Wählen Sie Apply (Anwenden) aus.