函数参考
aws_s3.table_import_from_s3
将 Amazon S3 数据导入到 Amazon RDS 表中。aws_s3
扩展提供 aws_s3.table_import_from_s3
函数。返回值为文本。
语法
必需的参数为 table_name
、column_list
和 options
。这些标识数据库表并指定如何将数据复制到表中。
您还可以使用以下参数:
-
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_info
和 credentials
参数。下面是 aws_s3.table_import_from_s3
函数的其他语法变化。
-
不使用
s3_info
参数来标识 Amazon S3 文件,而使用bucket
、file_path
和region
参数的组合。使用此形式的函数,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_key
、session_key
和session_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
,则可以使用临时凭证。