RDS for SQL Server と Amazon S3 間のファイル転送 - Amazon Relational Database Service

RDS for SQL Server と Amazon S3 間のファイル転送

Amazon RDS ストアドプロシージャを使用して、Amazon S3 と RDS DB インスタンス間でファイルのダウンロードおよびアップロードを行います。また、Amazon RDS ストアドプロシージャを使用して、RDS インスタンスのファイルを記入および削除することができます。

S3 からダウンロードまたは S3 へアップロードするファイルは、D:\S3 フォルダに保存します。このフォルダは、ファイルにアクセスする際に使用できる唯一のフォルダとなります。ダウンロード時に対象フォルダを設定する際に作成したサブフォルダ内でファイルを構成することができます。

ストアドプロシージャによっては、Amazon Resource Name (ARN) を S3 バケットおよびファイルに指定する必要があります。ARN の形式は arn:aws:s3:::amzn-s3-demo-bucket/file_name です。Amazon S3 には、ARN のアカウント番号または AWS リージョンは不要です。

S3 統合タスクは順次実行され、同じキューをネイティブバックアップとして共有し、タスクの復元を行います。このキューでは、一度に最大2つのタスクまで同時進行させることができます。タスクが処理を開始するまでに、最大 5 分かかります。

Amazon S3 バケットから SQL Server DB インスタンスにファイルをダウンロードする

S3 バケットから RDS for SQL Server DB インスタンスにファイルをダウンロードするには、Amazon RDS ストアドプロシージャ msdb.dbo.rds_download_from_s3 を使用してください。

パラメータ名 データ型 デフォルト 必須 説明

@s3_arn_of_file

NVARCHAR

必須

ダウンロードするファイルの S3 ARN 例: arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

オプション

RDS インスタンスのファイルパス。指定されなかった場合、ファイルパスは D:\S3\<filename in s3> です。RDS は、絶対パスと相対パスをサポートしています。サブフォルダを作成したい場合、ファイルパス内に含めます。

@overwrite_file

INT

0

オプション

既存のファイルを上書きしてください。

0 = 上書きしないでください

1 = 上書きしてください

ファイル拡張子のないファイルと、ファイル拡張子が .bcp、.csv、.dat、.fmt、.info、.lst、.tbl、.txt、.xml のファイルをダウンロードできます。

注記

SQL Server Integration Services が有効になっている場合、ファイル拡張子が .ispac のファイルのダウンロードがサポートされます。SSIS の有効化の詳細については、「SQL Server Integration Services」を参照してください。

SQL Server Analysis Services が有効になっている場合、ファイル拡張子が .abf、.asdatabase、.configsettings、.deploymentoptions、.deploymenttargets、.xmla のファイルのダウンロードがサポートされます。SSAS の有効化の詳細については、「SQL Server Analysis Services」を参照してください。

以下の例は 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;

rds_download_from_s3 の操作は、フォルダがまだない場合、seed_dataD:\S3\ という名前のフォルダを作成します。次に例ではソースファイル bulk_data.csv を S3 から DB インスタンスの data.csv という名前の新しいファイルにダウンロードします。@overwrite_file パラメータが 1 に設定されているため、すでにファイルが存在する場合は上書きされます。

SQL Server DB インスタンスから Amazon S3 バケットにファイルをアップロードする

RDS for SQL Server DB インスタンスから S3 バケットにファイルをアップロードするには、Amazon RDS ストアドプロシージャ msdb.dbo.rds_upload_to_s3 を以下のパラメータで使用してください。

パラメータ名 データ型 デフォルト 必須 説明

@s3_arn_of_file

NVARCHAR

必須

ファイルの S3 ARN が S3 内で作成されます (例: arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv)。

@rds_file_path

NVARCHAR

必須

S3 にアップロードするファイルのファイルパス。絶対パスと相対パスの両方をサポートしています。

@overwrite_file

INT

オプション

既存のファイルを上書きしてください。

0 = 上書きしないでください

1 = 上書きしてください

以下の例では、data.csv という名前のファイルを D:\S3\seed_data\ 内の指定の場所から、ARN が指定する S3 バケットに、ファイル new_data.csv をアップロードします。

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;

@overwrite_file パラメータが 1 に設定されているため、ファイルが S3 にすでに存在している場合は上書きされます。