Transferencia de archivos entre RDS for SQL Server y Amazon S3 - Amazon Relational Database Service

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:::amzn-s3-demo-bucket/file_name. Amazon S3 no requiere un número de cuenta ni una región de AWS en los ARN.

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

@s3_arn_of_file

NVARCHAR

Obligatorio

El ARN de S3 del archivo que desea descargar, por ejemplo: arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

Opcional

La ruta del archivo de la instancia de RDS. Si no se especifica, la ruta del archivo es D:\S3\<filename in s3>. RDS admite rutas absolutas y relativas. Si desea crear una subcarpeta, inclúyala en la ruta del archivo.

@overwrite_file

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

@s3_arn_of_file

NVARCHAR

Obligatorio

El ARN de S3 del archivo que desea crear en S3, por ejemplo: arn:aws:s3:::amzn-s3-demo-bucket/mydata.csv

@rds_file_path

NVARCHAR

Obligatorio

La ruta del archivo que desea cargar en S3. Se admiten rutas relativas y absolutas.

@overwrite_file

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.