Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Importation de données depuis Amazon S3 dans un pour une instance de base de données Postgre SQL
Vous pouvez importer des données stockées à l'aide d'Amazon Simple Storage Service dans une table d'une instance de de base de SQL données Postgre. Pour ce faire, vous devez d'abord installer l' pour Postgre SQLaws_s3
. Cette extension fournit les fonctions que vous utilisez pour importer des données à partir d'un compartiment Amazon S3. Un compartiment est un conteneur Amazon S3 pour les objets et les fichiers. Les données peuvent se trouver dans un fichier de valeurs (CSV) séparé par des virgules, un fichier texte ou un fichier compressé (gzip). Vous apprendrez ensuite comment installer l'extension et comment importer des données d'Amazon S3 dans un tableau.
Votre base de données doit exécuter Postgre SQL version 10.7 ou supérieure pour pouvoir être importée depuis Amazon S3 vers RDS Postgre. SQL
Si vous n'avez pas de données stockées sur Amazon S3, vous devez d'abord créer un compartiment et y stocker les données. Pour en savoir plus, consulter les rubriques suivantes dans le Guide de l'utilisateur d'Amazon Simple Storage Service.
L'importation entre comptes depuis Amazon S3 est prise en charge. Pour plus d’informations, consultez Octroi d'autorisations entre comptes dans le Guide de l'utilisateur Amazon Simple Storage Service.
Vous pouvez utiliser la clé gérée par le client pour le chiffrement lors de l'importation de données depuis S3. Pour plus d'informations, consultez KMSles clés stockées AWS KMS dans le guide de l'utilisateur d'Amazon Simple Storage Service.
Note
L'importation des données à partir d'Amazon S3 n'est pas prise en charge pour Aurora Serverless v1. Elle est prise en charge pour Aurora Serverless v2.
Rubriques
Installation de l'extension aws_s3
Avant de pouvoir utiliser Amazon S3 avec votre pour l'SQLinstance de base de données Postgre, vous devez installer l'aws_s3
extension. Cette extension fournit des fonctions pour importer des données depuis un compartiment Amazon S3. Il fournit également des fonctions d'exportation de données d' et d'une SQL instance RDS de base de données Postgre vers un compartiment Amazon S3. Pour de plus amples informations, veuillez consulter Exportation de données depuis un pour une SQL instance de base de données Postgre vers Amazon S3. L'extension aws_s3
dépend de certaines des fonctions d'aide de l'extension aws_commons
, qui est installée automatiquement lorsque cela est nécessaire.
Pour installer l'extension aws_s3
Utilisez psql (oupgAdmin) pour vous connecter à l' pour SQL instance de base de données Postgre en tant qu'utilisateur disposant de privilèges.
rds_superuser
Si vous avez conservé le nom par défaut pendant le processus d'installation, vous vous connectez en tant quepostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordPour installer l'extension, exécutez la commande suivante.
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Pour vérifier que l'extension est installée, vous pouvez utiliser la métacommande psql
\dx
.postgres=>
\dxList of installed extensions Name | Version | Schema | Description -------------+---------+------------+--------------------------------------------- aws_commons | 1.2 | public | Common data types across AWS services aws_s3 | 1.1 | public | AWS S3 extension for importing data from S3 plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (3 rows)
Les fonctions d'importation de données depuis Amazon S3 et d'exportation de données vers Amazon S3 sont désormais disponibles.
Présentation de l'importation de données à partir de données Amazon S3
Pour importer des données S3 dans RDS
Tout d'abord, rassemblez les informations que vous devez fournir à la fonction. Il s'agit notamment du nom de la table sur l'instance de de SQL base de données Postgre, ainsi que du nom du compartiment, du chemin du fichier, du type de fichier et de l' Région AWS endroit où les données Amazon S3 sont stockées. Pour de plus amples informations, veuillez consulter View an object (Afficher un objet) dans le Guide de l'utilisateur Amazon Simple Storage Service.
Note
L'importation de données partitionnées depuis Amazon S3 n'est pas prise en charge actuellement.
Obtenez le nom de la table dans laquelle la fonction
aws_s3.table_import_from_s3
doit importer les données. À titre d'exemple, la commande suivante crée une tablet1
qui peut être utilisée dans les étapes suivantes.postgres=>
CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));Obtenez les détails sur le compartiment Amazon S3 et les données à importer. Pour ce faire, ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
, puis choisissez Buckets. Trouvez le compartiment contenant vos données dans la liste. Sélectionnez le compartiment, ouvrez sa page Object overview (Présentation des objets), puis choisissez Properties (Propriétés). Notez le nom du compartiment, le chemin Région AWS, le et le type de fichier. Vous aurez besoin du nom de ressource Amazon (ARN) ultérieurement pour configurer l'accès à Amazon S3 via un IAM rôle. Pour obtenir plus d'informations, consultez Configuration de l'accès à un compartiment Amazon S3. L'image suivante montre un exemple.
Vous pouvez vérifier le chemin d'accès aux données du compartiment Amazon S3 à l'aide de la AWS CLI commande
aws s3 cp
. Si les informations sont correctes, cette commande télécharge une copie du fichier Amazon S3.aws s3 cp s3://
amzn-s3-demo-bucket
/sample_file_path
./-
Configurez des autorisations sur votre pour l'SQLinstance de base de données Postgre afin de permettre l'accès au fichier dans le compartiment Amazon S3. Pour ce faire, vous devez utiliser un rôle AWS Identity and Access Management (IAM) ou des informations d'identification de sécurité. Pour de plus amples informations, veuillez consulter Configuration de l'accès à un compartiment Amazon S3.
Fournissez le chemin et les autres détails de l'objet Amazon S3 collectés (voir étape 2) à la
create_s3_uri
fonction pour créer un URI objet Amazon S3. Pour en savoir plus sur cette fonction, consultez aws_commons.create_s3_uri. Voici un exemple de construction de cet objet pendant une session psql.postgres=>
SELECT aws_commons.create_s3_uri( 'docs-lab-store-for-rpg', 'versions_and_jdks_listing.csv', 'us-west-1' ) AS s3_uri \gsetDans l'étape suivante, vous transmettez cet objet (
aws_commons._s3_uri_1
) à la fonctionaws_s3.table_import_from_s3
pour importer les données dans la table.-
Appelez la fonction
aws_s3.table_import_from_s3
pour importer les données d'Amazon S3 dans votre table. Pour obtenir des informations de référence, consultez aws_s3.table_import_from_s3. Pour obtenir des exemples, consultez Importation de données depuis Amazon S3 vers votre pour une instance de base de données Postgre SQL.
Configuration de l'accès à un compartiment Amazon S3
Pour importer des données depuis un fichier Amazon S3, autorisez le pour l'SQLinstance de base de données Postgre à accéder au compartiment Amazon S3 contenant le fichier. Pour accorder l'accès à un compartiment Amazon S3, vous pouvez employer une des deux méthodes décrites dans les rubriques suivantes.
Rubriques
Utilisation d'un IAM rôle pour accéder à un compartiment Amazon S3
Avant de charger des données depuis un fichier Amazon S3, autorisez votre pour l'SQLinstance de base de données Postgre à accéder au compartiment Amazon S3 dans lequel se trouve le fichier. De cette façon, vous n'avez pas à gérer d'informations d'identification supplémentaires ni à les fournir dans l'appel de fonction aws_s3.table_import_from_s3.
Pour ce faire, créez une IAM politique qui donne accès au compartiment Amazon S3. Créez un IAM rôle et associez la politique au rôle. Attribuez ensuite le IAM rôle à votre instance de de base de données.
Note
Comme vous ne pouvez pas associer un IAM rôle à un Aurora Serverless v1 cluster de base de données, les étapes suivantes ne s'appliquent pas.
Pour donner à un pour une SQL instance de base de données Postgre l'accès à Amazon S3 via un rôle IAM
-
Créez une IAM politique.
Cette politique fournit les autorisations de compartiment et d'objet qui permettent à votre pour l'SQLinstance de base de données Postgre d'accéder à Amazon S3.
Incluez dans la politique les actions requises suivantes pour autoriser le transfert de fichiers d'un compartiment Amazon S3 vers Amazon RDS :
-
s3:GetObject
-
s3:ListBucket
Incluez à la politique les ressources suivantes pour identifier le compartiment Amazon S3 et les objets qu'il contient. Cela indique le format Amazon Resource Name (ARN) pour accéder à Amazon S3.
-
arn:aws:s3 :
amzn-s3-demo-bucket
-
arn:aws:s3 :
amzn-s3-demo-bucket
/*
Pour plus d'informations sur la création d'une IAM politique pour pour PostgreSQL, consultez. Création et utilisation d'une politique IAM pour l'accès à une base de données IAM Consultez également le didacticiel : créez et joignez votre première politique gérée par le client dans le guide de IAM l'utilisateur.
La AWS CLI commande suivante crée une IAM politique nommée
rds-s3-import-policy
avec ces options. Il donne accès à un bucket nomméamzn-s3-demo-bucket
.Note
Notez le nom de ressource Amazon (ARN) de la politique renvoyée par cette commande. Vous ARN en aurez besoin lors d'une étape ultérieure lorsque vous associez la politique à un IAM rôle.
Exemple
Pour LinuxmacOS, ou Unix :
aws iam create-policy \ --policy-name rds-s3-import-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] }'Dans Windows :
aws iam create-policy ^ --policy-name rds-s3-import-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] }' -
-
Créez un IAM rôle.
Vous procédez ainsi pour qu' Amazon RDS puisse assumer ce IAM rôle et accéder à vos compartiments Amazon S3. Pour plus d'informations, consultez la section Création d'un rôle pour déléguer des autorisations à un IAM utilisateur dans le Guide de IAM l'utilisateur.
Nous vous recommandons d'utiliser les clés de contexte de condition globale
aws:SourceArn
etaws:SourceAccount
dans des politiques basées sur les ressources pour limiter les autorisations du service à une ressource spécifique. C'est le moyen le plus efficace de se protéger contre le problème du député confus.Si vous utilisez les deux clés de contexte de condition globale et que la valeur de
aws:SourceArn
contient l'ID de compte, la valeur deaws:SourceAccount
et le compte indiqué dans la valeur deaws:SourceArn
doivent utiliser le même ID de compte lorsqu'il est utilisé dans la même déclaration de politique.Utilisez
aws:SourceArn
si vous souhaitez un accès interservices pour une seule ressource.-
Utilisez
aws:SourceAccount
si vous souhaitez autoriser une ressource de ce compte à être associée à l'utilisation interservices.
Dans la politique, veillez à utiliser la clé de contexte de condition
aws:SourceArn
globale avec l'intégralité ARN de la ressource. L'exemple suivant montre comment procéder à l'aide de la AWS CLI commande pour créer un rôle nommérds-s3-import-role
.Exemple
Pour LinuxmacOS, ou Unix :
aws iam create-role \ --role-name rds-s3-import-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname
" } } } ] }'Dans Windows :
aws iam create-role ^ --role-name rds-s3-import-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname
" } } } ] }' -
Attachez la IAM politique que vous avez créée au IAM rôle que vous avez créé.
La AWS CLI commande suivante associe la politique créée à l'étape précédente au rôle nommé
rds-s3-import-role
Remplacer
par la politique ARN que vous avez notée à l'étape précédente.your-policy-arn
Exemple
Pour LinuxmacOS, ou Unix :
aws iam attach-role-policy \ --policy-arn
your-policy-arn
\ --role-name rds-s3-import-roleDans Windows :
aws iam attach-role-policy ^ --policy-arn
your-policy-arn
^ --role-name rds-s3-import-role -
Ajoutez le IAM rôle à l'instance de de base de données.
Pour ce faire, utilisez le AWS Management Console ou AWS CLI, comme décrit ci-dessous.
Pour ajouter un IAM rôle pour une instance de SQL de base de données Postgre à l'aide de la console
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Choisissez le nom de l'instance de SQL de base de données Postgre pour afficher ses détails.
-
Dans l'onglet Connectivité et sécurité, dans la section Gérer les IAM rôles, choisissez le rôle à ajouter sous Ajouter IAM des rôles à cette instance de .
-
Sous Feature (Fonction), choisissez s3Import.
-
Choisissez Add role (Ajouter un rôle).
Pour ajouter un IAM rôle à une SQL instance de base de données Postgre à l'aide du CLI
-
Utilisez la commande suivante pour ajouter le rôle à l'SQLinstance de base de données Postgre nommée
my-db-instance
. Remplacez
avec le rôle ARN que vous avez noté à l'étape précédente. Utilisezyour-role-arn
s3Import
comme valeur de l'option--feature-name
.Exemple
Pour LinuxmacOS, ou Unix :
aws rds add-role-to-db-instance \ --db-instance-identifier
my-db-instance
\ --feature-name s3Import \ --role-arnyour-role-arn
\ --regionyour-region
Dans Windows :
aws rds add-role-to-db-instance ^ --db-instance-identifier
my-db-instance
^ --feature-name s3Import ^ --role-arnyour-role-arn
^ --regionyour-region
Pour ajouter un IAM rôle à une instance de SQL de base de données Postgre à l'aide d'Amazon RDSAPI, appelez l'opération.
Utilisation d'informations d'identification de sécurité pour accéder à un compartiment Amazon S3
Si vous préférez, vous pouvez utiliser des informations d'identification de sécurité pour accéder à un compartiment Amazon S3 au lieu de fournir un accès avec un IAM rôle. Pour ce faire, spécifiez le paramètre credentials
dans l'appel de fonction aws_s3.table_import_from_s3.
Le credentials
paramètre est une structure de type contenant aws_commons._aws_credentials_1
des AWS informations d'identification. Utilisez la fonction aws_commons.create_aws_credentials pour définir la clé d'accès et la clé secrète dans une structure aws_commons._aws_credentials_1
, comme indiqué ci-après.
postgres=>
SELECT aws_commons.create_aws_credentials( 'sample_access_key
', 'sample_secret_key
', '') AS creds \gset
Après avoir créé la structure aws_commons._aws_credentials_1
, utilisez la fonction aws_s3.table_import_from_s3 avec le paramètre credentials
pour importer les données, comme indiqué ci-après.
postgres=>
SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', :'creds' );
Vous pouvez également inclure l'appel de fonction aws_commons.create_aws_credentials en ligne au sein de l'appel de fonction aws_s3.table_import_from_s3
.
postgres=>
SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', aws_commons.create_aws_credentials('sample_access_key
', 'sample_secret_key
', '') );
Résolution des problèmes d'accès à Amazon S3
Si vous rencontrez des problèmes de connexion lorsque vous tentez d'importer des données depuis Amazon S3, consultez les recommandations suivantes :
-
Résolution des problèmes liés à Identity and Access Amazon RDS
-
Dépannage d'Amazon S3 dans le Guide de l'utilisateur Amazon Simple Storage Service.
-
Résolution des problèmes liés à Amazon S3 et IAM dans le guide de IAM l'utilisateur
Importation de données depuis Amazon S3 vers votre pour une instance de base de données Postgre SQL
Vous importez des données depuis votre compartiment Amazon S3 en utilisant la fonction table_import_from_s3
de l'extension aws_s3. Pour obtenir des informations de référence, consultez aws_s3.table_import_from_s3.
Note
Les exemples suivants utilisent la méthode des IAM rôles pour autoriser l'accès au compartiment Amazon S3. Les appels de fonction aws_s3.table_import_from_s3
n'incluent donc aucun paramètre d'informations d'identification.
L'exemple suivant montre un exemple typique.
postgres=>
SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );
Les paramètres sont les suivants :
-
t1
— Nom de la table de l'instance de SQL de base de données Postgre dans laquelle copier les données. -
''
– Liste facultative des colonnes de la table de base de données. Vous pouvez utiliser ce paramètre pour indiquer quelles colonnes des données S3 sont copiées dans quelles colonnes de table. Si aucune colonne n'est spécifiée, toutes les colonnes sont copiées dans la table. Pour obtenir un exemple d'utilisation d'une liste de colonnes, veuillez consulter Importation d'un fichier Amazon S3 qui utilise un délimiteur personnalisé. -
(format csv)
— SQL COPY Arguments postgres. Le processus de copie utilise les arguments et le format de la SQL COPY commande Postgrepour importer les données. Les choix de format incluent la valeur séparée par des virgules (CSV) comme indiqué dans cet exemple, le texte et le binaire. Par défaut, il s'agit de texte. -
s3_uri
– Structure contenant les informations d'identification du fichier Amazon S3. Pour obtenir un exemple d'utilisation de la fonction aws_commons.create_s3_uri pour créer une structures3_uri
, consultez Présentation de l'importation de données à partir de données Amazon S3.
Pour de plus amples informations sur cette fonction, veuillez consulter aws_s3.table_import_from_s3.
La fonction aws_s3.table_import_from_s3
retourne du texte. Pour spécifier d'autres types de fichiers à importer à partir d'un compartiment Amazon S3, consultez l'un des exemples suivants.
Note
L'importation d'un fichier de 0 octet entraîne une erreur.
Rubriques
Importation d'un fichier Amazon S3 qui utilise un délimiteur personnalisé
L'exemple suivant montre comment importer un fichier qui utilise un délimiteur personnalisé. Il montre également comment définir l'emplacement de destination des données dans la table de base de données à l'aide du paramètre column_list
de la fonction aws_s3.table_import_from_s3.
Pour cet exemple, supposons que les informations suivantes sont organisées en colonnes délimitées par une barre verticale dans le fichier Amazon S3.
1|foo1|bar1|elephant1
2|foo2|bar2|elephant2
3|foo3|bar3|elephant3
4|foo4|bar4|elephant4
...
Pour importer un fichier qui utilise un délimiteur personnalisé
-
Créez une table dans la base de données pour les données importées.
postgres=>
CREATE TABLE test (a text, b text, c text, d text, e text); -
Utilisez le format suivant de la fonction aws_s3.table_import_from_s3 pour importer des données à partir du fichier Amazon S3.
Vous pouvez inclure l'appel de fonction aws_commons.create_s3_uri en ligne au sein de l'appel de fonction
aws_s3.table_import_from_s3
pour spécifier le fichier.postgres=>
SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('amzn-s3-demo-bucket
', 'pipeDelimitedSampleFile', 'us-east-2') );
Les données se retrouvent désormais dans la table dans les colonnes suivantes.
postgres=>
SELECT * FROM test;a | b | c | d | e ---+------+---+---+------+----------- 1 | foo1 | | bar1 | elephant1 2 | foo2 | | bar2 | elephant2 3 | foo3 | | bar3 | elephant3 4 | foo4 | | bar4 | elephant4
Importation d'un fichier compressé Amazon S3 (gzip)
L'exemple suivant montre comment importer un fichier compressé avec gzip à partir d'Amazon S3. Le fichier que vous importez doit comporter les métadonnées Amazon S3 suivantes :
-
Clé :
Content-Encoding
-
Valeur :
gzip
Si vous chargez le fichier à l'aide du AWS Management Console, les métadonnées sont généralement appliquées par le système. Pour plus d'informations sur le chargement de fichiers vers Amazon S3 à l'aide du AWS Management Console, du, ou du AWS CLI API, consultez la section Chargement d'objets dans le guide de l'utilisateur d'Amazon Simple Storage Service.
Pour de plus amples informations sur les métadonnées Amazon S3 et les métadonnées fournies par le système, veuillez consulter Editing object metadata in the Amazon S3 console dans le Guide de l'utilisateur Amazon Simple Storage Service.
Importez le fichier gzip dans votre pour l'SQLinstance de base de données Postgre comme indiqué ci-dessous.
postgres=>
CREATE TABLE test_gzip(id int, a text, b text, c text, d text);
postgres=>
SELECT aws_s3.table_import_from_s3(
'test_gzip', '', '(format csv)',
'amzn-s3-demo-bucket
', 'test-data.gz', 'us-east-2'
);
Importation d'un fichier codé Amazon S3
L'exemple suivant montre comment importer un fichier codé en Windows-1252 à partir d'Amazon S3.
postgres=>
SELECT aws_s3.table_import_from_s3(
'test_table', '', 'encoding ''WIN1252''',
aws_commons.create_s3_uri('amzn-s3-demo-bucket
', 'SampleFile', 'us-east-2')
);
Références de fonctions
aws_s3.table_import_from_s3
Importe les données Amazon S3 dans une RDS table SQL Amazon . L'extension aws_s3
fournit la fonction aws_s3.table_import_from_s3
. La valeur renvoyée est du texte.
Syntaxe
Les paramètres requis sont table_name
, column_list
et options
. Ils identifient la table de base de données et spécifient la façon dont les données sont copiées dans la table.
Vous pouvez également utiliser les paramètres suivants :
-
Le paramètre
s3_info
spécifie le fichier Amazon S3 à importer. Lorsque vous utilisez ce paramètre, l'accès à Amazon S3 est fourni par un IAM rôle pour l'instance de SQL de base de données Postgre.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
-
Le paramètre
credentials
spécifie les informations d'identification permettant d'accéder à Amazon S3. Lorsque vous utilisez ce paramètre, vous n'utilisez aucun IAM rôle.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 )
Paramètres
- table_name
-
Chaîne de texte obligatoire contenant le nom de la table de SQL base de données Postgre dans laquelle les données doivent être importées.
- column_list
-
Chaîne de texte obligatoire contenant une liste facultative des colonnes de la table de SQL base de données Postgre dans lesquelles copier les données. Si la chaîne est vide, toutes les colonnes de la table sont utilisées. Pour obtenir un exemple, veuillez consulter Importation d'un fichier Amazon S3 qui utilise un délimiteur personnalisé.
- options
-
Chaîne de texte obligatoire contenant les arguments de la SQL
COPY
commande Postgre. Ces arguments indiquent comment les données doivent être copiées dans la SQL table Postgre. Pour plus de détails, consultez la SQLCOPYdocumentation Postgre. - s3_info
-
Type composite
aws_commons._s3_uri_1
contenant les informations suivantes sur l'objet S3 :-
bucket
– Nom du compartiment Amazon S3 contenant le fichier. -
file_path
– Nom du fichier Amazon S3, avec le chemin d'accès à celui-ci. -
region
— La AWS région dans laquelle se trouve le fichier. Pour obtenir la liste des noms de AWS régions et des valeurs associées, consultezRégions, zones de disponibilité et zones locales.
-
- credentials
-
Type composite
aws_commons._aws_credentials_1
contenant les informations d'identification suivantes à utiliser pour l'opération d'importation :-
Clé d'accès
-
Clé secrète
-
Jeton de session
Pour plus d'informations sur la création d'une structure composite
aws_commons._aws_credentials_1
, veuillez consulter aws_commons.create_aws_credentials. -
Syntaxe alternative
Pour faciliter le test, vous pouvez utiliser un ensemble étendu de paramètres au lieu des paramètres s3_info
et credentials
. Plusieurs variations de syntaxe supplémentaires pour la fonction aws_s3.table_import_from_s3
sont fournies ci-dessous.
-
Au lieu d'utiliser le paramètre
s3_info
pour identifier un fichier Amazon S3, utilisez la combinaison des paramètresbucket
,file_path
etregion
. Avec cette forme de fonction, l'accès à Amazon S3 est fourni par un IAM rôle sur l'SQLinstance de base de données Postgre.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
-
Au lieu d'utiliser le paramètre
credentials
pour spécifier l'accès à Amazon S3, utilisez la combinaison des paramètresaccess_key
,session_key
etsession_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 )
Autres paramètres
- bucket
-
Chaîne de texte comportant le nom du compartiment Amazon S3 qui contient le fichier.
- file_path
-
Chaîne de texte contenant le nom du fichier Amazon S3, avec le chemin d'accès à celui-ci.
- region
-
Chaîne de texte identifiant l' Région AWS emplacement du fichier. Pour obtenir la liste des Région AWS noms et des valeurs associées, consultezRégions, zones de disponibilité et zones locales.
- access_key
-
Chaîne de texte contenant la clé d'accès à utiliser pour l'opération d'importation. La valeur par défaut estNULL.
- secret_key
-
Chaîne de texte contenant la clé secrète à utiliser pour l'opération d'importation. La valeur par défaut estNULL.
- session_token
-
(Facultatif) Chaîne de texte contenant la clé de session à utiliser pour l'opération d'importation. La valeur par défaut estNULL.
aws_commons.create_s3_uri
Crée une structure aws_commons._s3_uri_1
pour contenir les informations relatives au fichier Amazon S3. Utilisez les résultats de la fonction aws_commons.create_s3_uri
dans le paramètre s3_info
de la fonction aws_s3.table_import_from_s3.
Syntaxe
aws_commons.create_s3_uri(
bucket text,
file_path text,
region text
)
Paramètres
- bucket
-
Chaîne de texte obligatoire contenant le nom du compartiment Amazon S3 pour le fichier.
- file_path
-
Chaîne de texte obligatoire contenant le nom du fichier Amazon S3, avec le chemin d'accès à celui-ci.
- region
-
Chaîne de texte obligatoire Région AWS contenant le contenu du fichier. Pour obtenir la liste des Région AWS noms et des valeurs associées, consultezRégions, zones de disponibilité et zones locales.
aws_commons.create_aws_credentials
Définit une clé d'accès et une clé secrète dans une structure aws_commons._aws_credentials_1
. Utilisez les résultats de la fonction aws_commons.create_aws_credentials
dans le paramètre credentials
de la fonction aws_s3.table_import_from_s3.
Syntaxe
aws_commons.create_aws_credentials(
access_key text,
secret_key text,
session_token text
)
Paramètres
- access_key
-
Chaîne de texte obligatoire contenant la clé d'accès à utiliser pour l'importation d'un fichier Amazon S3. La valeur par défaut estNULL.
- secret_key
-
Chaîne de texte obligatoire contenant la clé secrète à utiliser pour l'importation d'un fichier Amazon S3. La valeur par défaut estNULL.
- session_token
-
Chaîne de texte facultative contenant le jeton de session à utiliser pour l'importation d'un fichier Amazon S3. La valeur par défaut estNULL. Si vous saisissez le paramètre
session_token
facultatif, vous pouvez utiliser les informations d'identification temporaires.