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 un'istanza di database del RDS per PostgreSQL a Amazon S3
È possibile eseguire query sui dati da un'istanza di database del RDS per PostgreSQL ed esportarli direttamente in file memorizzati in un bucket Amazon S3. A questo scopo, installa innanzitutto l'estensione RDS per 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.
Nota
L'esportazione tra account in Amazon S3 non è supportata.
Tutte le versioni attualmente disponibili di RDS per PostgreSQL supportano l'esportazione dei dati in Servizio di archiviazione semplice Amazon. Per informazioni dettagliate sulla versione, consulta gli aggiornamenti di Amazon RDS per PostgreSQL nelle Note di rilascio di Amazon RDS per 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 RDS per PostgreSQL ad Amazon S3 utilizzano la crittografia lato server con un. Chiave gestita da AWS Se utilizzi la crittografia a bucket, il bucket Amazon S3 deve essere crittografato con AWS Key Management Service una 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 DB su Amazon S3 utilizzando AWS CLI, o AWS Management Console l'API Amazon RDS. Per ulteriori informazioni, consulta Esportazione di dati di snapshot DB su Amazon S3 per Amazon RDS.
Argomenti
Installazione dell'estensione aws_s3
Prima di poter utilizzare Servizio di archiviazione semplice Amazon con l'istanza database RDS per PostgreSQL, è necessario installare l'estensione aws_s3
. Questa estensione fornisce funzioni per l'esportazione di dati un'istanza database RDS per 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'istanza database RDS per 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 database RDS per 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 RDS per PostgreSQL supporti le esportazioni in Amazon S3
Per verificare che la versione di RDS per PostgreSQL supporti l'esportazione in Amazon S3, puoi utilizzare il comando describe-db-engine-versions
. Nell'esempio seguente viene descritto come verificare il supporto per la versione 10.14.
aws rds describe-db-engine-versions --region us-east-1 --engine postgres --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 RDS per PostgreSQL verso un bucket Amazon S3, attenersi alla procedura descritta di seguito.
Per esportare i dati RDS per 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 RDS per istanza database 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 istanza 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, zone di disponibilità e Local Zones.
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.