本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 RDS for SQL Server 與 Amazon S3 之間傳輸檔案
您可以使用 Amazon RDS 預存程序,在 Amazon S3 與 RDS 資料庫執行個體之間下載和上傳檔案。您也可以使用 Amazon RDS 預存程序,列出和刪除 RDS 執行個體上的檔案。
您自 S3 下載和上傳至 S3 的檔案會存放在 D:\S3 資料夾。您只有透過此資料夾才能存取您的檔案。您可以將檔案組織成子資料夾,在下載期間,當您包含目的地資料夾時,將為您建立這些子資料夾。
您需要提供 S3 儲存貯體和檔案的 Amazon Resource Name (ARN),才能使用某些預存程序。ARN 的格式為 arn:aws:s3:::。Amazon S3 在 ARN 中不需要帳戶或 AWS 區域。amzn-s3-demo-bucket/file_name
S3 整合任務循序執行,與原生備份和還原任務共同相同的佇列。不論何時,此佇列中最多只能有兩個任務在進行。可能需要五分鐘後,任務才會開始處理。
將 Amazon S3 儲存貯體中的檔案下載至 SQL Server 資料庫執行個體
若要將 S3 儲存貯體中的檔案下載至 RDS for SQL Server 資料庫執行個體,請使用 Amazon RDS 預存程序 msdb.dbo.rds_download_from_s3 並搭配下列參數。
| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
|---|---|---|---|---|
|
|
NVARCHAR |
– |
必要 |
要下載之檔案的 S3 ARN,例如: |
|
|
NVARCHAR |
– |
選用 |
RDS 執行個體的檔案路徑。若沒有指定,則檔案路徑為 |
|
|
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_data 中建立名為 D:\S3\ 的資料夾 (如果此資料夾尚不存在)。然後,範例從 S3 將來源檔案 bulk_data.csv 下載至資料庫執行個體上名為 data.csv 的新檔案。因為 @overwrite_file 參數設為 1,如果檔案已事先存在,則會覆寫檔案。
從 SQL Server 資料庫執行個體將檔案上傳至 Amazon S3 儲存貯體
若要從 RDS for SQL Server 資料庫執行個體將檔案上傳送至 S3 儲存貯體,請使用 Amazon RDS 預存程序 msdb.dbo.rds_upload_to_s3 並搭配下列參數。
| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
|---|---|---|---|---|
|
|
NVARCHAR |
– |
必要 |
要在 S3 中建立之檔案的 S3 ARN,例如: |
|
|
NVARCHAR |
– |
必要 |
要上傳至 S3 之檔案的檔案路徑。支援絕對和相對路徑。 |
|
|
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,則會覆寫檔案。