Transferencia de archivos entre RDS for SQL Server y Amazon S3
Puede utilizar los procedimientos almacenados de Amazon RDS para descargar y cargar archivos entre Amazon S3 y su instancia de base de datos de RDS. También puede utilizar los procedimientos almacenados de Amazon RDS para visualizar y eliminar los archivos de la instancia de RDS.
Los archivos que descarga desde y carga a S3 se almacenan en la carpeta D:\S3
. Esta es la única carpeta que puede utilizar para acceder a los archivos. Puede organizar los archivos en subcarpetas, que se crean cuando incluye la carpeta de destino durante la descarga.
Algunos procedimientos almacenados necesitan que asigne un nombre de recurso de Amazon (ARN) al bucket de S3 y al archivo. El formato del ARN es arn:aws:s3:::
. Amazon S3 no requiere un número de cuenta ni una región de AWS en los ARN.amzn-s3-demo-bucket
/file_name
Las tareas de integración de S3 se ejecutan de forma secuencial y comparten la misma cola que las tareas de restauración y copia de seguridad nativas. Como máximo, solo puede tener dos tareas en curso en cualquier momento en esta cola. La tarea puede tardar hasta cinco minutos en comenzar a procesarse.
Descarga de archivos desde un bucket de Amazon S3 a una instancia de base de datos de SQL Server
Para descargar archivos desde un bucket de S3 a una instancia de base de datos de RDS for SQL Server, utilice el Amazon RDS procedimiento almacenado msdb.dbo.rds_download_from_s3
con los siguientes parámetros.
Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción |
---|---|---|---|---|
|
NVARCHAR |
– |
Obligatorio |
El ARN de S3 del archivo que desea descargar, por ejemplo: |
|
NVARCHAR |
– |
Opcional |
La ruta del archivo de la instancia de RDS. Si no se especifica, la ruta del archivo es |
|
INT |
0 |
Opcional |
Sobrescribir el archivo existente: 0 = No sobrescribir 1 = Sobrescribir |
Puede descargar archivos sin una extensión de archivo y archivos con las siguientes extensiones de archivo: .bcp, .csv, .dat, .fmt, .info, .lst, .tbl, .txt y .xml.
nota
Los archivos con la extensión de archivo .ispac se pueden descargar cuando SQL Server Integration Services está habilitado. Para obtener más información sobre la habilitación de SSIS, consulte SQL Server Integration Services.
Los archivos con las siguientes extensiones de archivo se pueden descargar cuando SQL Server Analysis Services está habilitado: .abf, .asdatabase, .configsettings, .deploymentoptions, .deploymenttargets y .xmla. Para obtener más información sobre cómo habilitar SSAS, consulte SQL Server Analysis Services.
En el siguiente ejemplo se muestra el procedimiento almacenado para descargar archivos desde 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
;
La operación de ejemplo rds_download_from_s3
crea una carpeta denominada seed_data
en D:\S3\
, si la carpeta no existe. A continuación, el ejemplo descarga el archivo de origen bulk_data.csv
desde S3 a un nuevo archivo denominado data.csv
en la instancia de base de datos. Si el archivo existía previamente, se sobrescribe porque el parámetro @overwrite_file
está establecido en 1
.
Carga de archivos desde una instancia de base de datos de SQL Server a un bucket de Amazon S3
Para cargar archivos desde una instancia de base de datos de RDS for SQL Server en un bucket de S3, utilice el el Amazon RDS procedimiento almacenado msdb.dbo.rds_upload_to_s3
con los siguientes parámetros.
Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción |
---|---|---|---|---|
|
NVARCHAR |
– |
Obligatorio |
El ARN de S3 del archivo que desea crear en S3, por ejemplo: |
|
NVARCHAR |
– |
Obligatorio |
La ruta del archivo que desea cargar en S3. Se admiten rutas relativas y absolutas. |
|
INT |
– |
Opcional |
Sobrescribir el archivo existente: 0 = No sobrescribir 1 = Sobrescribir |
En el siguiente ejemplo se carga el archivo denominado data.csv
desde la ubicación especificada en D:\S3\seed_data\
al archivo new_data.csv
del bucket de S3 que especifica el 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 el archivo existía previamente en S3, se sobrescribe porque el parámetro @overwrite_file está establecido en 1
.