Function reference
aws_s3.table_import_from_s3
Imports Amazon S3 data into an Amazon RDS table. The aws_s3
extension provides the
aws_s3.table_import_from_s3
function. The return value is text.
Syntax
The required parameters are table_name
, column_list
and options
.
These identify the database table and specify how the data is copied into the table.
You can also use the following parameters:
-
The
s3_info
parameter specifies the Amazon S3 file to import. When you use this parameter, access to Amazon S3 is provided by an IAM role for the PostgreSQL DB instance.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
-
The
credentials
parameter specifies the credentials to access Amazon S3. When you use this parameter, you don't use an IAM role.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 )
Parameters
- table_name
-
A required text string containing the name of the PostgreSQL database table to import the data into.
- column_list
-
A required text string containing an optional list of the PostgreSQL database table columns in which to copy the data. If the string is empty, all columns of the table are used. For an example, see Importing an Amazon S3 file that uses a custom delimiter.
- options
-
A required text string containing arguments for the PostgreSQL
COPY
command. These arguments specify how the data is to be copied into the PostgreSQL table. For more details, see the PostgreSQL COPY documentation. - s3_info
-
An
aws_commons._s3_uri_1
composite type containing the following information about the S3 object:-
bucket
– The name of the Amazon S3 bucket containing the file. -
file_path
– The Amazon S3 file name including the path of the file. -
region
– The AWS Region that the file is in. For a listing of AWS Region names and associated values, see Regions, Availability Zones, and Local Zones.
-
- credentials
-
An
aws_commons._aws_credentials_1
composite type containing the following credentials to use for the import operation:-
Access key
-
Secret key
-
Session token
For information about creating an
aws_commons._aws_credentials_1
composite structure, see aws_commons.create_aws_credentials. -
Alternate syntax
To help with testing, you can use an expanded set of parameters instead of the
s3_info
and credentials
parameters. Following are
additional syntax variations for the aws_s3.table_import_from_s3
function:
-
Instead of using the
s3_info
parameter to identify an Amazon S3 file, use the combination of thebucket
,file_path
, andregion
parameters. With this form of the function, access to Amazon S3 is provided by an IAM role on the PostgreSQL DB instance.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
-
Instead of using the
credentials
parameter to specify Amazon S3 access, use the combination of theaccess_key
,session_key
, andsession_token
parameters.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 )
Alternate parameters
- bucket
-
A text string containing the name of the Amazon S3 bucket that contains the file.
- file_path
-
A text string containing the Amazon S3 file name including the path of the file.
- region
-
A text string identifying the AWS Region location of the file. For a listing of AWS Region names and associated values, see Regions, Availability Zones, and Local Zones.
- access_key
-
A text string containing the access key to use for the import operation. The default is NULL.
- secret_key
-
A text string containing the secret key to use for the import operation. The default is NULL.
- session_token
-
(Optional) A text string containing the session key to use for the import operation. The default is NULL.
aws_commons.create_s3_uri
Creates an aws_commons._s3_uri_1
structure to hold Amazon S3 file
information. Use the results of the aws_commons.create_s3_uri
function
in the s3_info
parameter of the aws_s3.table_import_from_s3 function.
Syntax
aws_commons.create_s3_uri(
bucket text,
file_path text,
region text
)
Parameters
- bucket
-
A required text string containing the Amazon S3 bucket name for the file.
- file_path
-
A required text string containing the Amazon S3 file name including the path of the file.
- region
-
A required text string containing the AWS Region that the file is in. For a listing of AWS Region names and associated values, see Regions, Availability Zones, and Local Zones.
aws_commons.create_aws_credentials
Sets an access key and secret key in an aws_commons._aws_credentials_1
structure. Use the results of the aws_commons.create_aws_credentials
function in the credentials
parameter of the aws_s3.table_import_from_s3 function.
Syntax
aws_commons.create_aws_credentials(
access_key text,
secret_key text,
session_token text
)
Parameters
- access_key
-
A required text string containing the access key to use for importing an Amazon S3 file. The default is NULL.
- secret_key
-
A required text string containing the secret key to use for importing an Amazon S3 file. The default is NULL.
- session_token
-
An optional text string containing the session token to use for importing an Amazon S3 file. The default is NULL. If you provide an optional
session_token
, you can use temporary credentials.