Transfert de fichiers entre RDS for SQL Server et Amazon S3 - Amazon Relational Database Service

Transfert de fichiers entre RDS for SQL Server et Amazon S3

Vous pouvez utiliser des procédures stockées Amazon RDS pour charger et télécharger des fichiers entre Amazon S3 et votre instance de base de données RDS. Vous pouvez également utiliser des procédures stockées Amazon RDS pour répertorier et supprimer des fichiers sur l'instance RDS.

Les fichiers que vous téléchargez depuis/chargez vers S3 sont stockés dans le dossier D:\S3. Il s'agit du seul dossier que vous pouvez utiliser pour accéder à vos fichiers. Vous pouvez organiser vos fichiers en sous-dossiers, qui sont créés pour vous lorsque vous incluez le dossier de destination lors du téléchargement.

Certaines procédures stockées exigent que vous fournissiez un nom ARN (Amazon Resource Name) à votre compartiment et votre fichier S3. Le format pour votre ARN est arn:aws:s3:::amzn-s3-demo-bucket/file_name. Amazon S3 n'a pas besoin d'un numéro de compte ou d'une région AWS dans les ARN.

Les tâches d'intégration S3 s'exécutent de manière séquentielle, partagent la même file d'attente que la sauvegarde native et restaurent des tâches. Vous pouvez uniquement disposer de deux tâches maximum en cours à tout moment dans cette file d'attente. Le traitement de la tâche peut mettre jusqu'à cinq minutes avant de commencer.

Téléchargement des fichiers d'un compartiment Amazon S3 vers une instance de base de données SQL Server

Pour télécharger des fichiers d'un compartiment S3 vers une instance de base de données RDS for SQL Server, suivez la procédure msdb.dbo.rds_download_from_s3 stockée dans Amazon RDS avec les paramètres suivants.

Nom du paramètre Type de données Par défaut Obligatoire Description

@s3_arn_of_file

NVARCHAR

Obligatoire

L'ARN S3 du fichier à télécharger, par exemple : arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

Facultatif

Le chemin du fichier pour l'instance RDS. Si aucun n'est spécifié, le chemin du fichier est D:\S3\<filename in s3>. RDS prend en charge des chemins absolus et relatifs. Si vous souhaitez créer un sous-dossier, incluez-le dans le chemin du fichier.

@overwrite_file

INT

0

Facultatif

Écraser le fichier existant :

0 = Ne pas écraser

1 = Écraser

Vous pouvez télécharger des fichiers sans extension de fichier et des fichiers avec les extensions de fichier suivantes : .bcp, .csv, .dat, .fmt, .info, .lst, .tbl, .txt et .xml.

Note

Les fichiers avec l'extension de fichier .ispac sont pris en charge pour le téléchargement lorsque SQL Server Integration Services est activé. Pour plus d'informations sur l'activation de SSIS, veuillez consulter SQL Server Integration Services.

Les fichiers avec les extensions de fichier suivantes sont pris en charge pour le téléchargement lorsque SQL Server Analysis Services est activé : .abf, .asdatabase, .configsettings, .deploymentoptions, .deploymenttargets et .xmla. Pour plus d'informations sur l'activation de SSAS, veuillez consulter SQL Server Analysis Services.

L'exemple suivant illustre la procédure stockée pour télécharger des fichiers depuis S3.

exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::amzn-s3-demo-bucket/bulk_data.csv', @rds_file_path='D:\S3\seed_data\data.csv', @overwrite_file=1;

L'exemple rds_download_from_s3 créé un dossier nommé seed_data in D:\S3\, si le dossier n'existe pas encore. Ensuite, l'exemple télécharge le fichier source bulk_data.csv depuis S3 vers un nouveau fichier nommé data.csv sur l'instance de base de données. Si le fichier existait déjà, il est écrasé car le paramètre @overwrite_file est défini sur 1.

Téléchargement des fichiers depuis une instance de base de données SQL Server vers un compartiment Amazon S3

Pour charger des fichiers d'une instance de base de données RDS for SQL Server vers un compartiment S3, suivez la procédure msdb.dbo.rds_upload_to_s3 stockée dans Amazon RDS avec les paramètres suivants.

Nom du paramètre Type de données Par défaut Obligatoire Description

@s3_arn_of_file

NVARCHAR

Obligatoire

L'ARN S3 du fichier à créer dans S3, par exemple : arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

Obligatoire

Le chemin du fichier à charger sur S3. Les chemins absolus et relatifs sont pris en charge.

@overwrite_file

INT

Facultatif

Écraser le fichier existant :

0 = Ne pas écraser

1 = Écraser

L'exemple suivant charge le fichier nommé data.csv depuis l'emplacement spécifié dans D:\S3\seed_data\ vers un fichier new_data.csv dans le compartiment S3 spécifié par l'ARN.

exec msdb.dbo.rds_upload_to_s3 @rds_file_path='D:\S3\seed_data\data.csv', @s3_arn_of_file='arn:aws:s3:::amzn-s3-demo-bucket/new_data.csv', @overwrite_file=1;

Si le fichier existait déjà dans S3, il est écrasé car le paramètre @overwrite_file est défini sur 1.