BookmarkSubscribeRSS Feed
Uso de SAS PROC S3 para acceder a Amazon S3
ericlesvictor
SAS Employee

Con SAS 9.4, SAS PROC S3 permite acceder y gestionar objetos en Amazon S3. SAS PROC S3 es un procedimiento básico de SAS que permite crear buckets, carpetas y archivos en S3. Amazon S3 es una plataforma de almacenamiento de objetos con una interfaz de servicio web sencilla para almacenar y recuperar cualquier cantidad de datos.

 

Antes de poder usar PROC S3, necesitas un ID de clave de acceso y una clave secreta de acceso de Amazon Web Service (AWS). El ID de clave de acceso y la clave secreta de acceso se pueden generar en la ventana del consola AWS. Si tienes una cuenta de AWS con privilegios de administrador, podrás generar el ID de clave de acceso y la clave secreta de acceso.

 

SAS PROC S3 lee información de seguridad de archivos de configuración para hacer una conexión con recursos de AWS. Los archivos de configuración están disponibles y accesibles en la máquina cliente SAS. El archivo de configuración contiene principalmente el ID de clave de acceso de AWS y la clave secreta de acceso. El archivo de configuración puede ser un archivo de configuración de la interfaz de línea de comandos (CLI) de AWS o el archivo de configuración de PROC S3. PROC S3 lee ambos archivos de configuración durante la ejecución. La configuración de AWS CLI permite configurar la conexión basada en perfil en la máquina cliente SAS.

 

A menos que se especifique, PROC S3 lee los archivos de configuración de AWS CLI desde la ubicación predeterminada, es decir, "/userhome/.aws/" y usa el perfil predeterminado. Puedes especificar una ubicación alternativa para el archivo de configuración y las credenciales utilizando las opciones AWSCONFIG= y AWSCREDENTIALS= en la instrucción PROC S3. Para conectar S3 utilizando un perfil específico, usa las opciones PROFILE= y CREDENTIALSPROFILE= en la instrucción PROC S3.

 

Un archivo de configuración local de PROC S3 también puede ser utilizado para conectar recursos de AWS. El archivo de configuración predeterminado de PROC S3 es tks3.conf en Windows y .tks3.conf en Unix y está ubicado en el directorio de inicio del usuario. Para especificar el nombre y la ubicación del archivo de configuración personalizado, usa la opción CONFIG= con la instrucción PROC S3.

 

Las opciones de configuración especificadas en los archivos de configuración de AWS CLI sustituyen a las opciones especificadas en el archivo de configuración de PROC S3. Las opciones especificadas en el procedimiento S3 sustituyen a las opciones definidas en los archivos de configuración.

 

La siguiente lista de instrucciones es soportada por SAS PROC S3:

  • CREATE - Para crear un bucket S3.
  • COPY - Para copiar un objeto desde una ubicación S3 origen a una ubicación S3 destino.
  • DELETE - Para eliminar una ubicación u objeto S3.
  • DESTROY - Para eliminar un bucket S3 (cubo vacío).
  • GET - Para recuperar un objeto S3 a la máquina cliente SAS.
  • GETDIR - Para recuperar el contenido de un directorio S3.
  • INFO - Para imprimir información sobre una ubicación S3.
  • LIST - Para imprimir el contenido de una ubicación S3.
  • MKDIR - Para crear un directorio en una ubicación S3.
  • PUT - Para copiar archivos o directorios desde la máquina cliente SAS a la ubicación S3.
  • PUTDIR - Para copiar un directorio desde la máquina cliente SAS a la ubicación S3.
  • RMDIR - Para eliminar un directorio de una ubicación S3.

 

Las siguientes instrucciones adicionales son soportadas a partir de SAS 9.4 M5.

  • BUCKET - Para definir el modo de transferencia acelerada para el bucket especificado.
  • GETACCEL - Para recuperar el estado de Transfer Acceleration para un bucket.

El siguiente código de ejemplo lista el contenido de un bucket S3 utilizando PROC S3 leyendo un archivo de configuración local de PROC S3 para conectar a S3:

 

PROC S3 config="C:\tmp\CONF_s3.CONF";
   list "/testewk";
run;

Resultado:

28         PROC S3 config="C:\tmp\CONF_s3.CONF";
29         /*	create "/sasComm";*/
30         /*	put "C:\tmp\carga_teste.csv" "/sasComm/carga_teste.csv";*/
31            list "/testewk";
32         run;

hmeq.csv    438194 2024-04-30T18:25:44.000Z  
numeros.csv     57 2024-04-30T18:22:29.000Z  
NOTE: PROCEDURE S3 used (Total process time):
      real time           0.91 seconds
      cpu time            0.06 seconds

 

Para “descargar” un archivo en el bucket S3:

PROC S3 config="C:\tmp\CONF_s3.CONF";
   get "/testewk/hmeq.csv" "C:\tmp\teste.txt";
run;

 

Para “subir” un archivo al bucket S3:

PROC S3 config="C:\tmp\CONF_s3.CONF";
   put "C:\tmp\training.sas7bdat" "/testewk/training.sas7bdat";
run;

 

Para más información y ejemplos, consulta el artículo a continuación:

Using SAS PROC S3 to access Amazon S3

 

Y la documentación en el manual de SAS: https://documentation.sas.com/doc/pt-BR/pgmsascdc/9.4_3.5/proc/n1h9c1jnr8v8nwn1l6g83kyne5ds.htm

 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

Article Labels
Article Tags