本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將資料從 S3
您可以查詢 Postgre 資料庫料SQL庫叢集中的資料,並將其直接匯出到存放在 Amazon S3 儲存貯體的檔案中。SQL要做到這一點,你首先安裝 A urora 波斯特格雷SQLRDSaws_s3
展。此擴充功能提供函數,可用於匯出資料至 Amazon S3。接著,您可以了解如何安裝擴充功能,以及如何將資料匯出至 Amazon S3。
您可以從已佈建或 Aurora Serverless v2 數據庫實例。這些步驟不支援 Aurora Serverless v1.
注意
不支援跨帳戶匯出至 Amazon S3。
目前所有可用的 Aurora Postgre 版本都SQL支援將資料匯出至 Amazon 簡易儲存服務。如需詳細版本資訊,請參閱《Aurora Postgre 版本說明》中的 Amazon Aurora Post SQL gre SQL 更新。
如果您沒有為匯出設定儲存貯體,請參閱下列主題 Amazon Storage Service 使用者指南。
根據預設,從 Aurora Postgre 匯出SQL到 Amazon S3 的資料會使用伺服器端加密搭配 AWS 受管金鑰。 您也可以使用已建立的客戶管理金鑰。如果您使用儲存貯體加密,Amazon S3 儲存貯體必須使用 AWS Key Management Service (AWS KMS)鍵(SSE-KMS)。目前不支援使用 Amazon S3 受管金鑰 (SSE-S3) 加密的儲存貯體。
注意
您可以使用以下方式將資料庫和資料庫叢集快照資料儲存到 Amazon S3 AWS Management Console, AWS CLI,或 Amazon RDS API。如需詳細資訊,請參閱將資料庫叢集快照資料匯出至 Amazon S3。
主題
安裝 aws_s3 擴充功能
集使用 Amazon 簡易儲存服務。aws_s3
此擴充功能提供將資料從 Aurora Postgre 資料SQL庫叢集的寫入器執行個體或 Postgre 資料SQL庫體匯出至 Amazon S3 儲存貯體的功能。它還提供可從 Amazon S3 匯入資料的函數。如需詳細資訊,請參閱將資料從 Amazon S3 匯入至適用於 PostgreSQL 資料庫執行個體的 Aurora Postgre 資料庫叢集。aws_s3
擴充功能取決於 aws_commons
擴充功能中的一些輔助函數,需要時會自動安裝。
安裝 aws_s3
擴充功能
使用 psql (或pgAdmin) 以具有權限的使用者身分連線至 Postgre SQL 資料庫執行個體的 Aurora Postgre SQL 資料庫叢集RDS的寫個體。
rds_superuser
若您在安裝程序期間保留預設名稱,則連接為postgres
。psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --password若要安裝擴充功能,請執行下列命令。
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
若要驗證是否已經安裝擴充功能,可以使用 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)
現在可以使用從 Amazon S3 匯入和匯出資料的功能。
確認您urora 支援匯出至 Amazon S3
您可以使用describe-db-engine-versions
命令確認您的 Aurora Postgre SQL 版本是否支援匯出至 Amazon S3。下列範例會檢查 10.14 版本是否可以匯出至 Amazon S3。
aws rds describe-db-engine-versions --region us-east-1 \ --engine aurora-postgresql --engine-version 10.14 | grep s3Export
如果輸出包含字串 "s3Export"
,則引擎支援 Amazon S3 匯出。否則,引擎不支援它們。
將資料匯出至 Amazon S3 的概觀
若要將存放在 Postgre 資料SQL庫中的SQL料匯出到 Amazon S3 儲存貯體,請使用下列程序。
若要將 Postgre 資料SQL Aurora 波斯特匯出至 SQL S3
-
識別用於匯出資料的 Amazon S3 檔案路徑。如需此程序的詳細資訊,請參閱指定要匯出的 Amazon S3 檔案路徑。
-
提供許可,以存取 Amazon S3 儲存貯體。
若要將資料匯出至 Amazon S3 檔案,叢集存取匯出將用於儲存的 Amazon S3 儲存貯體的權限。這麼做包括以下步驟︰
-
建立IAM政策,提供對您要匯出目標之 Amazon S3 儲存貯體的存取權。
-
建立 IAM 角色。
-
請將您建立的政策連接到您建立的角色。
-
將此IAM角色新增至資料庫叢集資料。
如需此程序的詳細資訊,請參閱設定對 Amazon S3 儲存貯體的存取權。
-
-
識別資料庫查詢以取得資料。呼叫
aws_s3.query_export_to_s3
函數來匯出查詢資料。完成上述的準備工作後,請使用 aws_s3.query_export_to_s3 函數將查詢結果匯出至 Amazon S3。如需此程序的詳細資訊,請參閱使用 aws_s3.query_export_to_s3 函數匯出查詢資料。
指定要匯出的 Amazon S3 檔案路徑
指定下列資訊來識別 Amazon S3 中您要匯出資料的位置:
-
儲存貯體名稱 – 儲存貯體是 Amazon S3 物件或檔案的容器。
如需使用 Amazon S3 儲存資料的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的建立儲存貯體和檢視物件。
-
檔案路徑 – 檔案路徑會識別匯出項目儲存在 Amazon S3 儲存貯體中的位置。檔案路徑由以下項目組成:
-
識別虛擬資料夾路徑的選擇性路徑字首。
-
識別一或多個要儲存檔案的檔案字首。較大的匯出項目會儲存在多個檔案中,每個檔案的大小上限約為 6 GB。其他檔案名稱具有相同的檔案字首,但會加上
_part
。XX
代表 2,接著是 3,以此類推XX
舉例來說,具有
exports
資料夾和query-1-export
檔案字首的檔案路徑為/exports/query-1-export
。 -
-
AWS 區域 (選擇性) — AWS Amazon S3 儲存貯體所在的區域。如果您未指定 AWS 區域價值,然後 Aurora 將您的文件保存到 Amazon S3 中 AWS 區域做為匯出資料庫叢集資。
注意
目前, AWS 區域必須與匯出資料庫叢集資料庫的區域相同。
對於列表 AWS 區域名稱與關聯值,請參閱區域和可用區域。
如果要保留匯出項目儲存之位置的 Amazon S3 檔案資訊,可以使用 aws_commons.create_s3_uri 函數建立 aws_commons._s3_uri_1
複合結構,如下所示。
psql=> SELECT aws_commons.create_s3_uri( '
amzn-s3-demo-bucket
', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
您稍後可以在對 s3_uri_1
函數的呼叫中以參數形式提供此 aws_s3.query_export_to_s3 值。如需範例,請參閱「使用 aws_s3.query_export_to_s3 函數匯出查詢資料」。