View a markdown version of this page

兼容 Aurora PostgreSQL 与亚马逊 S3 的集成 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

兼容 Aurora PostgreSQL 与亚马逊 S3 的集成

Amazon Simple Storage Service (Amazon S3) 是一项对象存储服务,可提供可扩展、耐用、高度可用且经济实惠的数据存储。兼容 Amazon Aurora PostgreSQL 的版本通过扩展程序与亚马逊 S3 集aws_s3成,该扩展提供对 S3 存储桶的直接读写访问权限。这种集成促进了数据交换,包括数据摄取、备份和其他与数据相关的操作。

aws_s3 用例和高级步骤

与 Amazon S3 集成的最常见高级用例和优势如下:

  • 从 Amazon S3 提取数据-使用aws_s3扩展程序将存储在亚马逊 S3 中的逗号分隔值 (CSV)、JSON 或其他文件格式的数据直接加载到兼容 Aurora Post greSQL 的表中。这对于批量数据摄取过程、ETL(提取、转换和加载)工作流程或数据迁移特别有用。

  • 将@@ 数据导出到亚马逊 S3-将数据从兼容 Aurora PostgreSQL 的表导出为 CSV、JSON 或其他文件格式,然后将数据存储在亚马逊 S3 中。这对于数据存档、备份或与其他系统或服务共享数据非常有用。

  • 直接从亚马逊 S3 查询数据 — 直接从兼容 Aurora PostgreSQL 的数据库中查询存储在 CSV 或 JSON 文件中的数据,无需将数据加载到表中。这对于一次性数据分析或探索性数据处理非常有用。

  • 备份和还原 — 使用 Amazon S3 作为兼容 Aurora PostgreSQL 的数据库的备份目的地。这提供了额外的数据保护层,如果需要,您可以从 Amazon S3 备份中恢复数据库。

要将兼容 Aurora PostgreSQL 的数据库集群与 S3 存储桶集成,请使用以下高级步骤:

  1. 使用 PostgreSQL 客户端连接到与 Aurora PostgreSQL 兼容的集群,然后创建扩展模块:aws_s3

    create extension aws_s3
  2. 设置对 S3 存储桶和所需角色的访问权限。有关详细步骤,请参阅AWS 文档

  3. 使用 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') );