Remplazo del sdk de minio por el de s3 oficial#113
Conversation
| return Minio( | ||
| self.endpoint, | ||
| self.access_key, | ||
| self.secret_key, | ||
| secure=self.secure |
There was a problem hiding this comment.
Esto haría desaparecer el from minio import Minio y, en cascada, la dependencia de minio en setup.py, ¿no?
There was a problem hiding this comment.
Es la intención si, pero como la librería oficial de aws para s3 es más compleja (o tiene una documentación más enrevesada al menos) lo estoy intentando hacer progresivamente.
|
|
||
| # declare minioManager | ||
| minio_manager = tc.minioManager(endpoint='<minio_endpoint>:<port>', | ||
| minio_manager = tc.s3Manager(endpoint='<http/https>://<minio_endpoint>:<port>', |
There was a problem hiding this comment.
Deberiamos buscar un nombre "neutro".
Al final tanto Minio como S3 son Object Storaraes. Igual osManager, objectStorageManager... no es que me gusten mucho, pero no se me ocurre otro.
There was a problem hiding this comment.
A mi S3 me parecía más correcto porque al final se puede referir a un api estándar de object storages que supuestamente ahora serían todos compatibles con esta librería, pero es cierto que está ligado a AWS porque también llaman s3 a su servicio. No sé si preferimos perder este contexto que da el nombre para tener un nombre genérico, al final también es cierto que con nuestra documentación te debería dar igual si es s3 o no.
There was a problem hiding this comment.
En mi opinion S3 tiene una conotación fuerte de servicio de AWS. Si lo dejamos como s3Manager puede dar la (falsa) impresión de que por debajo tenemos AWS y no una instancia de Minio. De ahí lo de usar un nombre más neutro.
Pero igual estoy sesgado :) @arcosa @AlvaroVega ¿qué opinais vosotros?
There was a problem hiding this comment.
A mi tambien me gusta mas la marca blanca "Minio"
There was a problem hiding this comment.
objectStoreManager es buena opción, es como el concepto generico, almacenamiento de objetos (buckets y archivos) que viene a ser la función de S3 y MinIO. Otra opción bastante limpia y que abstrae de relacionarlo con s3 y minio, sería bucketManager al final gestionamos un sistema de archivos en buckets. El concepto de bucket te lleva rápido al tipo de almacenamiento del que estamos hablando.. independiente de que sea a través de s3, minio, etc ..
There was a problem hiding this comment.
De entre los dos últimos me decanto por objectStoreManager
There was a problem hiding this comment.
objectStoreManager me parece correcto, lo cambio y hago los ajustes necesarios a la documentación en cuanto termine los tests.
| - :param obligatorio `endpoint`: enpoint de acceso a MinIO | ||
| - :param obligatorio `access_key`: usuario necesario para hacer login en MinIO | ||
| - :param obligatorio `secret_key`: contraseña necesaria para hacer login en MinIO | ||
| - :param optional `secure`: flag para indicar si la conexión con MinIO usa https (True) o http (False). Por defecto se considera `True` si se omite el parámetro. |
There was a problem hiding this comment.
¿con boto no hay opción de conexión no segura?
There was a problem hiding this comment.
Boto no tiene un flag específico pero en el endpoint acepta http y https, así que para mi demo por ejemplo me bastó con poner http y ya.
There was a problem hiding this comment.
Es decir, que ya en el URL schema (sea https, sea http) lo hace adecuadamente. Mejor que con la lib de Minio entonces :)
NTC (entendido y todo ok)
Co-authored-by: Fermín Galán Márquez <fgalan@users.noreply.github.com>
fgalan
left a comment
There was a problem hiding this comment.
LGTM
Paso bola a los otros revisores. Cuando esté el LGTM de todos, el último que mezcl, pls.
Se pasa de usar el sdk minio-py para usar boto3