apache / apache/libcloud

get_object_cdn_url() & get_container_cdn_url() implementation for StorageDrivers

Abierto
#1,696 2 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
2.1k
Forks
931
Merge medio
1 d 2 h
PR fusionados (30 d)
4

Descripción

## Feature Request

Hi all! After beginning to integrate the libcloud library into an application I am writing and attempting to use both the `get_object_cdn_url()` and `get_container_cdn_url()`, I have realized that these methods appear to not be implemented back at the base level (`libcloud/storage/base.py`) in the StorageDriver class, and never implements in any inherited classes. I am attempting to use the Google driver, which inherits from the S3 driver, which inherits from the base.py StorageDriver, and looking at these methods in there, it appears they are hardcoded to raise the `NotImplementedError`: _"get_container_cdn_url not implemented for this driver"_. You can see that [here](https://github.com/apache/libcloud/blob/trunk/libcloud/storage/base.py) on lines 399 and 430.

I just wanted to confirm that I am indeed right about this, and see if there is already a roadmap that includes this feature. If not, I may be willing to take it on depending on the implications to the rest of the codebase. Apologies if I am not understanding the codebase correctly, I don't have any experience at all with libcloud besides this quick integration.

**Does anyone have anything thoughts, reservations, ideas, on this?**

Here is a chunk of code using a Google Cloud Storage instance to replicate this not implemented error:

`> import libcloud`
`> driver = libcloud.storage.drivers.google_storage.GoogleStorageDriver(key='foo', secret='bar')`
`> driver.get_container_cdn_url('container name')`

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en libcloud/storage/base.py, en get_container_cdn_url() y get_object_cdn_url(), y sigue GoogleStorageDriver a través de su herencia de S3. Determina qué drivers pueden proporcionar URLs de CDN y qué comportamiento del proveedor se requiere; el trabajo estará terminado cuando las implementaciones compatibles ya no alcancen el NotImplementedError de la clase base y exista cobertura para los drivers afectados.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
cloud
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.