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à.
Esportazione di dati da del cluster di database Aurora PostgreSQLRDS per PostgreSQL a Amazon S3
È possibile eseguire query sui dati da del cluster di database Aurora PostgreSQLRDS per PostgreSQL ed esportarli direttamente in file memorizzati in un bucket Amazon S3. A questo scopo, installa innanzitutto l'estensione Aurora PostgreSQL aws_s3
. Questa estensione fornisce le funzioni utilizzate per esportare i risultati delle quey in Amazon S3. Di seguito, sono disponibili informazioni su come installare l'estensione ed esportare i dati in Amazon S3.
È possibile esportare da un sistema predisposto o un Aurora Serverless v2 Istanza DB. Questi passaggi non sono supportati per Aurora Serverless v1.
Nota
L'esportazione tra account in Amazon S3 non è supportata.
Tutte le versioni attualmente disponibili di Aurora PostgreSQL supportano l'esportazione dei dati in Servizio di archiviazione semplice Amazon. Per informazioni dettagliate sulla versione, consulta gli aggiornamenti di Amazon Aurora PostgreSQL nelle Note di rilascio di Aurora PostgreSQL.
Se non disponi di un bucket configurato per l'esportazione, consulta i seguenti argomenti nella Guida per l'utente di Servizio di archiviazione semplice Amazon.
Per impostazione predefinita, i dati esportati da Aurora PostgreSQL ad Amazon S3 utilizzano la crittografia lato server con. Chiave gestita da AWS In alternativa, puoi utilizzare la chiave gestita dal cliente che hai già creato. Se utilizzi la crittografia a bucket, il bucket Amazon S3 deve essere crittografato AWS Key Management Service con la chiave AWS KMS() (SSE-KMS). Attualmente, i bucket crittografati con chiavi gestite di Amazon S3 (SSE-S3) non sono supportati.
Nota
Puoi salvare i dati degli snapshot del database e del cluster DB su Amazon S3 utilizzando AWS CLI, o AWS Management Console l'API Amazon RDS. Per ulteriori informazioni, consulta Esportazione dei dati dello snapshot del cluster di database in Amazon S3.
Argomenti
Installazione dell'estensione aws_s3
Prima di poter utilizzare Servizio di archiviazione semplice Amazon con il cluster database Aurora PostgreSQL, è necessario installare l'estensione aws_s3
. Questa estensione fornisce funzioni per l'esportazione di dati dall'istanza di scrittura di un cluster database Aurora PostgreSQL in un bucket Amazon S3. Fornisce inoltre funzioni per l'importazione dei dati da Amazon S3. Per ulteriori informazioni, consulta Importazione di dati da Amazon S3 in un cluster database Aurora PostgreSQL. L'estensione aws_s3
dipende da alcune delle funzioni helper nell'estensione aws_commons
, che vengono installate automaticamente quando necessario.
Per installare l'estensione aws_s3
Usa psql (o pgAdmin) per connetterti all'istanza di scrittura del cluster database Aurora PostgreSQL come un utente che dispone di privilegi
rds_superuser
. Se hai mantenuto il nome predefinito durante il processo di configurazione, esegui la connessione comepostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordPer installare l'estensione, esegui il comando seguente.
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Per verificare che l'estensione sia installata, puoi usare il metacomando psql
\dx
.postgres=>
\dxList of installed extensions Name | Version | Schema | Description -------------+---------+------------+--------------------------------------------- aws_commons | 1.2 | public | Common data types across AWS services aws_s3 | 1.1 | public | AWS S3 extension for importing data from S3 plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (3 rows)
Le funzioni per importare dati da Amazon S3 ed esportare dati in Amazon S3 sono ora disponibili per l'uso.
Verifica che la versione di Aurora PostgreSQL supporti le esportazioni in Amazon S3
Per verificare che la versione di Aurora PostgreSQL supporti l'esportazione in Amazon S3, puoi utilizzare il comando describe-db-engine-versions
. L'esempio seguente verifica se la versione 10.14 può eseguire l'esportazione in Amazon S3.
aws rds describe-db-engine-versions --region us-east-1 \ --engine aurora-postgresql --engine-version 10.14 | grep s3Export
Se l'output include la stringa "s3Export"
, allora il motore supporta le esportazioni Amazon S3. In caso contrario, il motore non le supporta.
Panoramica dell'esportazione di dati in Amazon S3
Per esportare i dati archiviati in un database Aurora PostgreSQL verso un bucket Amazon S3, attenersi alla procedura descritta di seguito.
Per esportare i dati Aurora PostgreSQL in S3.
-
Identifica un percorso del file Amazon S3 da utilizzare per l'esportazione dei dati. Per informazioni dettagliate su questo processo, consulta Specifica del percorso del file Amazon S3 in cui eseguire l'esportazione.
-
Fornisci l'autorizzazione ad accedere al bucket Amazon S3.
Per esportare i dati in un file Amazon S3, concedi al cluster di database Aurora PostgreSQL l'autorizzazione per accedere al bucket Amazon S3 che verrà utilizzato dall'esportazione per lo storage. Questa operazione include le seguenti fasi:
-
Crea una policy IAM che fornisce l'accesso a un bucket Amazon S3 in cui desideri eseguire l'esportazione.
-
Creare un ruolo IAM.
-
Collega la policy creata al ruolo creato.
-
Aggiungi questo ruolo IAM al cluster di database .
Per informazioni dettagliate su questo processo, consulta Configurazione dell'accesso a un bucket Amazon S3.
-
-
Identifica una query del database per ottenere i dati. Esporta i dati della query chiamando la funzione
aws_s3.query_export_to_s3
.Dopo aver completato le attività di preparazione precedenti, utilizza la funzione aws_s3.query_export_to_s3 per esportare i risultati della query in Amazon S3. Per informazioni dettagliate su questo processo, consulta Esportazione dei dati della query utilizzando la funzione aws_s3.query_export_to_s3.
Specifica del percorso del file Amazon S3 in cui eseguire l'esportazione
Specifica le seguenti informazioni per identificare la posizione in Amazon S3 in cui desideri esportare i dati:
-
Nome del bucket – Un bucket è un container di oggetti o file Amazon S3.
Per ulteriori informazioni sull'archiviazione dei dati con Amazon S3, consulta Creating a bucket e Working with objects nella Amazon Simple Storage Service User Guide.
-
Percorso del file – Il percorso del file identifica la posizione di archiviazione dell'esportazione nel bucket Amazon S3. Il percorso del file comprende:
-
Un prefisso del percorso facoltativo che identifica un percorso di cartella virtuale.
-
Un prefisso del file che identifica uno o più file da archiviare. Esportazioni di dimensioni maggiori vengono archiviate in più file, ciascuno con una dimensione massima di circa 6 GB. I nomi di file aggiuntivi hanno lo stesso prefisso di file ma con l'aggiunta di
_part
.XX
rappresenta 2, poi 3 e così via.XX
Ad esempio, un percorso del file con una cartella
exports
e un prefisso del filequery-1-export
è/exports/query-1-export
. -
-
AWS Regione (opzionale): la AWS regione in cui si trova il bucket Amazon S3.
Nota
Per un elenco dei nomi delle AWS regioni e dei valori associati, vedereRegioni e zone di disponibilità.
Per conservare le informazioni sul file Amazon S3 relative alla posizione di archiviazione dell'esportazione, puoi utilizzare la funzione aws_commons.create_s3_uri per creare una struttura composita aws_commons._s3_uri_1
come descritto di seguito.
psql=> SELECT aws_commons.create_s3_uri( '
amzn-s3-demo-bucket
', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
In seguito fornisci questo valore s3_uri_1
come un parametro nella chiamata alla funzione aws_s3.query_export_to_s3. Per alcuni esempi, consulta Esportazione dei dati della query utilizzando la funzione aws_s3.query_export_to_s3.