我想要在 Amazon Aurora PostgreSQL 相容版本資料庫叢集中開啟 Amazon Simple Storage Solution (Amazon S3) 整合功能。
簡短描述
您可以將存放在 Amazon S3 儲存貯體中的資料匯入 Aurora PostgreSQL 相容資料庫叢集上的資料表。首先,安裝 Aurora PostgreSQL 相容 aws_s3 延伸。此延伸提供從 S3 儲存貯體匯入資料所需的功能。資料可以是逗號分隔值 (CSV) 檔案、文字檔案 (txt) 或壓縮 (gzip) 檔案。您的資料庫必須執行 PostgreSQL 10.7 版或更新版本,才能從 Amazon S3 匯入 Aurora PostgreSQL 相容版。
若要將您的 Aurora 資料庫叢集與 S3 儲存貯體整合:
- 安裝 aws_s3 延伸
- 設定 S3 儲存貯體的存取
- 將選項新增至 Aurora 叢集
- 使用 psql 查詢從資料庫匯入或匯出資料
解決方案
安裝 aws_s3 延伸
若要安裝允許您連線至資料庫的 aws_s3 延伸,請執行以下命令:
postgres=> CREATE EXTENSION aws_s3 CASCADE;
若要確認 aws_s3 是否已安裝,請使用 psql\ dx 中繼命令。或者,可以從任何資料庫用戶端工具使用此查詢:
select * from pg_available_extensions where installed_version is not null;
設定 S3 儲存貯體的存取
若要將 Aurora PostgreSQL 相容叢集存取權提供給 Amazon S3,請建立 AWS Identity and Access Management (IAM) 政策。此政策提供儲存貯體和物件許可,讓您的資料庫叢集存取 S3 儲存貯體。
在您建立的 IAM 政策中,包含這些必要動作。這些動作允許將檔案從 S3 儲存貯體傳輸到資料庫叢集:
- s3:GetObject
- s3:ListBucket
- s3:PutObject
- s3:AbordMultipartUpload
如需詳細資訊,請參閱設定 Amazon S3 儲存貯體的存取權。
將選項新增至 Aurora 叢集
使用 Amazon Relational Database Service (Amazon RDS) 主控台或 AWS Command Line Interface (AWS CLI),將 IAM 角色新增至您的叢集。
使用主控台
- 登入 Amazon RDS 主控台。
- 在瀏覽窗格中,選擇您要修改的 PostgreSQL 叢集
- 選擇 Connectivity & security (連線與安全) 索引標籤。
- 從 Manage IAM roles (管理 IAM 角色) 區段的 Add IAM roles to this instance (將 IAM 角色新增至此執行個體) 下,選擇您要新增的角色。
- 在 Feature (功能) 下,選擇 s3Export,然後選擇 Add role (新增角色)。
從資料庫匯入或匯出資料
將資料從 S3 儲存貯體匯入 PostgreSQL 叢集,或將資料從 PostgreSQL 叢集匯出至 S3 儲存貯體。
如需詳細資訊,請參閱將資料從 Amazon S3 匯出和匯入至 Amazon Aurora PostgreSQL。
完成這些步驟後,請使用 aws_s3.table_import_from_s3,將資料從 Amazon S3 匯入至 Aurora PostgreSQL 相容叢集。您可以使用 aws_s3.query_export_to_s3 將資料從 Aurora PostgreSQL 相容叢集匯出至 Amazon S3。