

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Aurora PostgreSQL 相容與 Amazon S3 的整合
<a name="amazon-s3"></a>

Amazon Simple Storage Service (Amazon S3) 是一種物件儲存服務，可提供可擴展、耐用、高可用性且符合成本效益的資料儲存。Amazon Aurora PostgreSQL 相容版本透過 `aws_s3`擴充功能與 Amazon S3 整合，提供對 S3 儲存貯體的直接讀取和寫入存取權。此整合有助於資料交換，包括資料擷取、備份和其他資料相關操作。

## aws\_s3 使用案例和高階步驟
<a name="aws-s3"></a>

與 Amazon S3 整合最常見的高階使用案例和優點如下：
+ **從 Amazon S3 擷取資料** ‒ 使用 `aws_s3`擴充功能，將儲存在 Amazon S3 中的逗號分隔值 (CSV)、JSON 或其他檔案格式的資料直接載入 Aurora PostgreSQL 相容資料表。這對於批次資料擷取程序、ETL （擷取、轉換和載入） 工作流程或資料遷移特別有用。
+ **資料匯出至 Amazon S3** ‒ 從 Aurora PostgreSQL 相容資料表匯出資料至 CSV、JSON 或其他檔案格式，並將資料存放在 Amazon S3 中。這對於資料封存、備份或與其他系統或服務共用資料非常有用。
+ **直接從 Amazon S3 查詢資料** ‒ 直接從 Aurora PostgreSQL 相容資料庫查詢存放在 Amazon S3 中 CSV 或 JSON 檔案中的資料，而不將資料載入資料表。這對於一次性資料分析或探索性資料處理非常有用。
+ **備份和還原** ‒ 使用 Amazon S3 做為 Aurora PostgreSQL 相容資料庫的備份目的地。這提供額外的資料保護層，您可以視需要從 Amazon S3 備份還原資料庫。

若要整合 Aurora PostgreSQL 相容資料庫叢集與 S3 儲存貯體，請使用下列高階步驟：

1. 使用 PostgreSQL 用戶端連線至 Aurora PostgreSQL 相容叢集，並建立`aws_s3`擴充功能：

   ```
   create extension aws_s3
   ```

1. 設定對 S3 儲存貯體和必要角色的存取權。如需詳細步驟，請參閱 [AWS 文件](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html#USER_PostgreSQL.S3Import.AccessPermission)。

1. 使用 psql 查詢從資料庫匯入或匯出資料：
   + 若要將檔案從 Amazon S3 匯入至 Aurora PostgreSQL 相容資料表，請執行下列命令：

     ```
     SELECT aws_s3.table_import_from_s3( 'Table_Name', '',  '(format text)',
                                                        aws_commons.create_s3_uri('S3_BUCKETNAME', 'FileName.dat','Region-Name')  );
     ```
   + 若要從 Aurora PostgreSQL 相容資料表將檔案匯出至 Amazon S3，請執行下列命令：

     ```
     SELECT * FROM aws_s3.query_export_to_s3('TABLE_NAME', aws_commons.create_s3_uri('S3_BUCKETNAME', 'FileName.dat', 'Region-Name') );
     ```
   + 若要使用 SQL 查詢匯出至 Amazon S3，請執行下列命令：

     ```
     SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM data_table', aws_commons.create_s3_uri('S3_BUCKETNAME', 'FileName.dat', 'Region-Name') );
     ```