Uso del servicio con Python

Instalación de la líbreria

Para instalar la librería python de esta versión que permite la conexión al servicio OpenCayle ejecute:

pip install boto3

Si necesitas conocer mas información acerca del uso de esta librería: https://boto3.amazonaws.com/v1/documentation/api/1.35.29/guide/quickstart.html


Establecer la conexión con el servidor

Para poder establecer la conexión con el servidor de OpenCAYLE desde un script de python, necesitaremos configurar los siguientes parámetros como se ve en el siguiente ejemplo, en caso de no disponer del AccessKey indicado seguir los siguientes pasos para obtener el AccessKey.

s3 = boto3.resource('s3',
    endpoint_url='https://ss3.scayle.es:443',
    aws_access_key_id='AccessKey',  
    aws_secret_access_key='AccessKey',
    config=Config(signature_version='s3')
)

Gestión de los buckets

Crear un bucket, parámetros a completar:

  • BucketName: Nombre del bucket en OpenCAYLE donde se encuentra el archivo. Ej: resultados_01
s3.create_bucket(
    Bucket="BucketName"
)

Listar los buckets asocidos a tu cuenta:

for bucket in s3.buckets.all():
    print(bucket.name)

Gestión de los archivos

Subida de archivos a un bucket, parámetros a completar:

  • PathOrigen: Directorio donde se encuentra el archivo en el bucket. Ej: /home/user/Desktop/medicion_01.txt
  • BucketName: Nombre del bucket en OpenCAYLE donde se encuentra el archivo. Ej: datos_tiempo_madrid
  • PathDestino: Directorio del ordenador donde guardar el archivo. Ej: /2024/marzo/medicion_01.txt
with open('PathOrigen', 'rb') as data:
    s3.Bucket('BucketName').put_object(Key='PathDestino', Body=data)

Descargar archivos de un bucket, parámetros a completar:

  • BucketName: Nombre del bucket en OpenCAYLE donde se encuentra el archivo. Ej: datos_leon_2023
  • PathOrigen: Directorio donde se encuentra el archivo en el bucket. Ej: /enero/semana1/prediccion_01.txt
  • PathDestino: Directorio del ordenador donde guardar el archivo. Ej: /home/user/Downloads/prediccion_01.txt
s3.Bucket('BucketName').download_file('PathOrigen', 'PathDestino')

Última actualización: 14/04/2025 08:17