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.
Verwenden von Amazon S3 Express One Zone mit AWS Glue
Mit AWS Glue Version 5.1 und höher können Sie Daten aus Ihren ETL-Jobs in Amazon S3 Express One Zone-Verzeichnis-Buckets lesen und schreiben. S3 Express One Zone ist eine leistungsstarke Amazon S3 S3-Speicherklasse mit einer Zone, die einen konsistenten Datenzugriff im einstelligen Millisekundenbereich für latenzempfindliche Anwendungen bietet.
Voraussetzungen
Bevor Sie S3 Express One Zone mit verwenden können, müssen Sie über Folgendes verfügen: AWS Glue
-
Ein AWS Glue Job, auf dem Version 5.1 oder höher ausgeführt wird.
-
Ein S3-Verzeichnis-Bucket, der in derselben Region wie Ihr AWS Glue Job erstellt wurde. Verzeichnis-Buckets unterstützen keinen regionsübergreifenden Zugriff. Weitere Informationen finden Sie unter Erstellen von Verzeichnis-Buckets im Amazon S3 S3-Benutzerhandbuch.
-
Die
s3express:CreateSessionBerechtigung für Ihre IAM-Rolle. Wenn S3 Express One Zone eine Aktion in einem Verzeichnis-Bucket ausführt, ruft es in Ihrem NamenCreateSessionauf.
IAM-Berechtigungen
Fügen Sie der IAM-Rolle Ihres AWS Glue Jobs die folgende Berechtigung hinzu, um den Zugriff auf S3 Express One Zone-Verzeichnis-Buckets zu ermöglichen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3express:CreateSession", "Resource": "arn:aws:s3express:*:*:bucket/EXAMPLE-BUCKET--az-id--x-s3" } ] }
EXAMPLE-BUCKETErsetzen Sie es durch den Namen Ihres Verzeichnis-Buckets und az-id durch die Availability Zone ID (z. B.use1-az4).
Daten lesen und schreiben
AWS GlueVersion 5.1+ unterstützt den Zugriff auf S3 Express One Zone-Verzeichnis-Buckets sowohl mit dem als auch mit dem s3:// s3a:// URI-Schema. Es ist keine zusätzliche Konfiguration erforderlich.
Das folgende Beispiel zeigt, wie Daten aus einem S3 Express One Zone-Verzeichnis-Bucket in einem AWS Glue ETL-Job gelesen und geschrieben werden:
import sys from pyspark.context import SparkContext from awsglue.context import GlueContext sc = SparkContext.getOrCreate() glueContext = GlueContext(sc) spark = glueContext.spark_session # S3 Express One Zone directory bucket path express_path = "s3://EXAMPLE-BUCKET--use1-az4--x-s3/my-data/" # Read data from S3 Express One Zone df = spark.read.parquet(express_path) # Write data to S3 Express One Zone df.write.mode("overwrite").parquet(express_path + "output/")
Sie können es auch DynamicFrames mit S3 Express One Zone verwenden:
# Read with DynamicFrame dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="s3", connection_options={"paths": [express_path]}, format="parquet" ) # Write with DynamicFrame glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="s3", connection_options={"path": express_path + "output/"}, format="parquet" )