Transferência de arquivos entre o RDS for SQL Server e o Amazon S3 - Amazon Relational Database Service

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:::amzn-s3-demo-bucket/file_name. O Amazon S3 não exige um número de conta ou região da AWS nos ARNs.

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

@s3_arn_of_file

NVARCHAR

Obrigatório

O ARN do S3 do arquivo para download, por exemplo: arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

Optional

O caminho do arquivo para a instância do RDS: Se não especificado, o caminho será D:\S3\<filename in s3>. O RDS oferece suporte a caminhos absolutos e relativos. Se você deseja criar uma subpasta, inclua-a no caminho do arquivo.

@overwrite_file

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

@s3_arn_of_file

NVARCHAR

Obrigatório

O ARN do S3 do arquivo a ser criado no S3, por exemplo: arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

Obrigatório

O caminho de arquivo do arquivo para fazer upload no S3. Caminhos relativos e absolutos têm suporte.

@overwrite_file

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.