函数参考 - Amazon Relational Database Service

函数参考

aws_s3.table_import_from_s3

将 Amazon S3 数据导入到 Amazon RDS 表中。aws_s3 扩展提供 aws_s3.table_import_from_s3 函数。返回值为文本。

语法

必需的参数为 table_namecolumn_listoptions。这些标识数据库表并指定如何将数据复制到表中。

您还可以使用以下参数:

  • s3_info 参数指定要导入的 Amazon S3 文件。在您使用此参数时,IAM 角色为 PostgreSQL 数据库实例提供访问 Amazon S3 的权限。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
  • credentials 参数指定凭证以访问 Amazon S3。在您使用此参数时,不使用 IAM 角色。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1, credentials aws_commons._aws_credentials_1 )

参数

table_name

包含要将数据导入到的 PostgreSQL 数据库表的名称的必需文本字符串。

column_list

包含要将数据复制到的 PostgreSQL 数据库表列的可选列表的必需文本字符串。如果此字符串为空,将使用表的所有列。有关示例,请参阅导入使用自定义分隔符的 Amazon S3 文件

options

包含 PostgreSQL COPY 命令的参数的必需文本字符串。这些参数指定如何将数据复制到 PostgreSQL 表中。有关更多详细信息,请参阅 PostgreSQL COPY 文档

s3_info

包含有关 S3 对象的以下信息的 aws_commons._s3_uri_1 复合类型:

  • bucket – 包含文件的 Amazon S3 存储桶的名称。

  • file_path – 包含文件路径的 Amazon S3 文件名。

  • region – 文件所在的AWS区域。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones

凭证

包含以下用于导入操作的凭证的 aws_commons._aws_credentials_1 复合类型:

  • 访问密钥

  • 私有密钥

  • 会话令牌

有关创建 aws_commons._aws_credentials_1 复合结构的信息,请参阅 aws_commons.create_aws_credentials

替代语法

为帮助进行测试,您可以使用一组扩展的参数而非 s3_infocredentials 参数。下面是 aws_s3.table_import_from_s3 函数的其他语法变化。

  • 不使用 s3_info 参数来标识 Amazon S3 文件,而使用 bucketfile_pathregion 参数的组合。使用此形式的函数,IAM 角色在 PostgreSQL 数据库实例上提供访问 Amazon S3 的权限。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
  • 不使用 credentials 参数来指定 Amazon S3 访问权限,而使用 access_keysession_keysession_token 参数的组合。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text, access_key text, secret_key text, session_token text )

替代参数

bucket

包含 Amazon S3 存储桶(其中包含文件)的名称的文本字符串。

file_path

包含 Amazon S3 文件名(包含文件路径)的文本字符串。

region

标识文件的 AWS 区域位置的文本字符串。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones

access_key

包含用于导入操作的访问密钥的文本字符串。默认值为 NULL。

secret_key

包含用于导入操作的私有密钥的文本字符串。默认值为 NULL。

session_token

(可选)包含用于导入操作的会话密钥的文本字符串。默认值为 NULL。

aws_commons.create_s3_uri

创建 aws_commons._s3_uri_1 结构来保存 Amazon S3 文件信息。在 aws_commons.create_s3_uri 函数的 s3_info 参数中使用 aws_s3.table_import_from_s3 函数的结果。

语法

aws_commons.create_s3_uri( bucket text, file_path text, region text )

参数

bucket

包含文件的 Amazon S3 存储桶名称的必需文本字符串。

file_path

包含 Amazon S3 文件名(包含文件路径)的必填文本字符串。

region

一个包含文件所在的 AWS 区域的必需文本字符串。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones

aws_commons.create_aws_credentials

aws_commons._aws_credentials_1 结构中设置访问密钥和私有密钥。在 aws_commons.create_aws_credentials 函数的 credentials 参数中使用 aws_s3.table_import_from_s3 函数的结果。

语法

aws_commons.create_aws_credentials( access_key text, secret_key text, session_token text )

参数

access_key

包含用于导入 Amazon S3 文件的访问密钥的必需文本字符串。默认值为 NULL。

secret_key

包含用于导入 Amazon S3 文件的私有密钥的必需文本字符串。默认值为 NULL。

session_token

包含用于导入 Amazon S3 文件的会话令牌的可选文本字符串。默认值为 NULL。如果您提供了可选的 session_token,则可以使用临时凭证。