View a markdown version of this page

Utilizzo di Amazon S3 Express One Zone con AWS Aderenza - AWS Aderenza

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à.

Utilizzo di Amazon S3 Express One Zone con AWS Aderenza

Con AWS Glue la versione 5.1 e successive, puoi leggere e scrivere dati nei bucket di directory Amazon S3 Express One Zone dai tuoi job ETL. S3 Express One Zone è una classe di storage Amazon S3 a zona singola ad alte prestazioni che offre un accesso ai dati coerente a una cifra in millisecondi per applicazioni sensibili alla latenza.

Prerequisiti

Prima di poter utilizzare S3 Express One Zone con, devi disporre di quanto segue: AWS Glue

  • Un AWS Glue lavoro che esegue la versione 5.1 o successiva.

  • Un bucket di directory S3 creato nella stessa regione del tuo AWS Glue lavoro. I bucket di directory non supportano l'accesso tra regioni. Per ulteriori informazioni, consulta Creazione di bucket di directory nella Guida per l'utente di Amazon S3.

  • L's3express:CreateSessionautorizzazione per il tuo ruolo IAM. Quando S3 Express One Zone esegue un'azione su un bucket di directory, chiama per tuo CreateSession conto.

autorizzazioni IAM

Aggiungi la seguente autorizzazione al ruolo IAM del tuo AWS Glue lavoro per consentire l'accesso ai bucket di directory S3 Express One Zone:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3express:CreateSession", "Resource": "arn:aws:s3express:*:*:bucket/EXAMPLE-BUCKET--az-id--x-s3" } ] }

EXAMPLE-BUCKETSostituiscilo con il nome del bucket della directory e az-id con l'ID della zona di disponibilità (ad esempio,). use1-az4

Lettura e scrittura di dati

AWS Gluela versione 5.1+ supporta l'accesso ai bucket di directory S3 Express One Zone utilizzando sia lo schema che l's3://URI. s3a:// e non sono necessarie ulteriori configurazioni.

L'esempio seguente mostra come leggere e scrivere dati da un bucket di directory S3 Express One Zone in un processo ETL: AWS Glue

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/")

Puoi utilizzarlo anche DynamicFrames con S3 Express One Zone:

# 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" )