

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
<a name="postgresql-s3-export"></a>

È 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**  
Cross-account l'esportazione 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](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) 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*. 
+ [Configurazione di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-up-s3.html)
+ [Creare un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)

Per impostazione predefinita, i dati esportati da RDS per PostgreSQL su Amazon S3 utilizzano la crittografia lato server con una 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 Console di gestione AWS l'API Amazon RDS. Per ulteriori informazioni, consulta [Supporto per l’esportazione di dati dello snapshot del database in Amazon S3 per Amazon RDS](USER_ExportSnapshot.md).

**Topics**
+ [Installazione dell'estensione aws\_s3](#USER_PostgreSQL.S3Export.InstallExtension)
+ [Panoramica dell'esportazione di dati in Amazon S3](#postgresql-s3-export-overview)
+ [Specifica del percorso del file Amazon S3 in cui eseguire l'esportazione](#postgresql-s3-export-file)
+ [Configurazione dell'accesso a un bucket Amazon S3](postgresql-s3-export-access-bucket.md)
+ [Esportazione dei dati della query utilizzando la funzione aws\_s3.query\_export\_to\_s3](postgresql-s3-export-examples.md)
+ [Informazioni di riferimento sulle funzioni](postgresql-s3-export-functions.md)
+ [Risoluzione dei problemi di accesso a Amazon S3](postgresql-s3-export-troubleshoot.md)

## Installazione dell'estensione aws\_s3
<a name="USER_PostgreSQL.S3Export.InstallExtension"></a>

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](USER_PostgreSQL.S3Import.md). 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`**

1. 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 come `postgres`.

   ```
   psql --host={{111122223333}}.{{aws-region}}.rds.amazonaws.com --port=5432 --username=postgres --password
   ```

1. Per installare l'estensione, esegui il comando seguente. 

   ```
   postgres=> CREATE EXTENSION aws_s3 CASCADE;
   NOTICE: installing required extension "aws_commons"
   CREATE EXTENSION
   ```

1. Per verificare che l'estensione sia installata, puoi usare il metacomando psql `\dx`.

   ```
   postgres=> \dx
          List 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 tua versione RDS per PostgreSQL Aurora PostgreSQL le esportazioni verso Amazon S3
<a name="postgresql-s3-supported"></a>

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
<a name="postgresql-s3-export-overview"></a>

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

1. 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](#postgresql-s3-export-file).

1. 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:

   1. Crea una policy IAM che fornisce l'accesso a un bucket Amazon S3 in cui desideri eseguire l'esportazione.

   1. Creare un ruolo IAM.

   1. Collega la policy creata al ruolo creato.

   1. Aggiungi questo ruolo IAM al istanza di database.

   Per informazioni dettagliate su questo processo, consulta [Configurazione dell'accesso a un bucket Amazon S3](postgresql-s3-export-access-bucket.md).

1. 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](postgresql-s3-export-functions.md#aws_s3.export_query_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](postgresql-s3-export-examples.md).

## Specifica del percorso del file Amazon S3 in cui eseguire l'esportazione
<a name="postgresql-s3-export-file"></a>

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 [Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) e [Utilizzo degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html) nella *Guida per l’utente di Amazon Simple Storage Service*. 
+ 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}}`. `{{XX}}` rappresenta 2, poi 3 e così via.

  Ad esempio, un percorso del file con una cartella `exports` e un prefisso del file `query-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, vedere[Regioni, zone di disponibilità e Local Zones ](Concepts.RegionsAndAvailabilityZones.md).

Per conservare le informazioni sul file Amazon S3 relative alla posizione di archiviazione dell'esportazione, puoi utilizzare la funzione [aws\_commons.create\_s3\_uri](postgresql-s3-export-functions.md#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](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3). Per alcuni esempi, consulta [Esportazione dei dati della query utilizzando la funzione aws\_s3.query\_export\_to\_s3](postgresql-s3-export-examples.md).