Transferência de arquivos entre o RDS for SQL Server e o Amazon S3
É possível usar os procedimentos armazenados do Amazon RDS para baixar e carregar arquivos entre o Amazon S3 e a instância de banco de dados do RDS. Também é possível usar os procedimentos armazenados do Amazon RDS para listar e excluir arquivos na instância do RDS.
Os arquivos que você baixa e carrega no S3 são armazenados na pasta D:\S3
. Essa é a única pasta que pode ser usada para acessar seus arquivos. É possível organizar seus arquivos em subpastas, que são criadas para você ao incluir a pasta de destino durante o download.
Alguns dos procedimentos armazenados exigem que você forneça um nome de recurso da Amazon (ARN) ao bucket e arquivo do S3. O formato do ARN é arn:aws:s3:::
. O Amazon S3 não exige um número de conta ou região da AWS nos ARNs.amzn-s3-demo-bucket
/file_name
As tarefas de integração do S3 são executadas sequencialmente e compartilham a mesma fila como tarefas nativas de restauração e backup nativos. É possível ter no máximo duas tarefas em andamento a qualquer momento nesta fila. Pode demorar até cinco minutos para que o processamento da tarefa comece.
Baixar arquivos de um bucket do Amazon S3 em uma instância de banco de dados SQL Server
Para baixar arquivos de um bucket do S3 bucket em uma instância de banco de dados do RDS for SQL Server, use o procedimento armazenado do Amazon RDS msdb.dbo.rds_download_from_s3
com os parâmetros a seguir.
Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
---|---|---|---|---|
|
NVARCHAR |
– |
Obrigatório |
O ARN do S3 do arquivo para download, por exemplo: |
|
NVARCHAR |
– |
Optional |
O caminho do arquivo para a instância do RDS: Se não especificado, o caminho será |
|
INT |
0 |
Optional |
Substitua o arquivo existente: 0 = não substituir 1 = substituir |
É possível baixar arquivos sem uma extensão de arquivo e arquivos com as seguintes extensões: .bcp, .csv, .dat, .fmt, .info, .lst, .tbl, .txt e .xml.
nota
Arquivos com a extensão .ispac são têm suporte para download quando o SQL Server Integration Services está habilitado. Para obter mais informações sobre como habilitar o SSIS, consulte SQL Server Integration Services.
Arquivos com as seguintes extensões têm suporte para download quando o SQL Server Analysis Services está habilitado: .abf, .asdatabase, .configsettings, .deploymentoptions, .deploymenttargets e .xmla. Para obter mais informações sobre como habilitar o SSAS, consulte SQL Server Analysis Services.
O exemplo a seguir mostra o procedimento armazenado para baixar arquivos do 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
;
A operação de exemplo rds_download_from_s3
cria uma pasta chamada seed_data
em D:\S3\
, se a pasta não existir ainda. Depois disso, o exemplo baixa o arquivo de origem bulk_data.csv
do S3 para um novo arquivo chamado data.csv
na instância de banco de dados. Se o arquivo existia anteriormente, ele será substituído porque o parâmetro @overwrite_file
está definido como 1
.
Fazer upload de arquivos de uma instância de banco de dados SQL Server para um bucket do Amazon S3
Para fazer upload de arquivos de uma instância de banco de dados do RDS for SQL Server para um bucket do S3, use o procedimento armazenado do Amazon RDS msdb.dbo.rds_upload_to_s3
com os parâmetros a seguir.
Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
---|---|---|---|---|
|
NVARCHAR |
– |
Obrigatório |
O ARN do S3 do arquivo a ser criado no S3, por exemplo: |
|
NVARCHAR |
– |
Obrigatório |
O caminho de arquivo do arquivo para fazer upload no S3. Caminhos relativos e absolutos têm suporte. |
|
INT |
– |
Optional |
Substitua o arquivo existente: 0 = não substituir 1 = substituir |
O exemplo a seguir faz upload do arquivo chamado data.csv
do local especificado em D:\S3\seed_data\
para um arquivo new_data.csv
no bucket do S3 especificado pelo 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
;
Se o arquivo existia antes no S3, ele será substituído porque o parâmetro @overwrite_file está definido como 1
.