Azure / Azure/azure-storage-python

list_blobs() crashes due to response from blob storage not containing Creation-Time

Abierto
#629 3 comentarios 0 reacciones 0 asignados Ver en GitHub
feature request/enhancement
Lenguaje dominante
Python
Estrellas
343
Forks
243
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Which service(blob, file, queue) does this issue concern?
blob

### Which version of the SDK was used? Please provide the output of `pip freeze`.
azure-storage-blob==2.1.0
azure-storage-common==2.1.0
azure-common==1.1.23

### What problem was encountered?
Call to `list_blobs(container_name)` throws an error in the end when the blobs have been created by the client on an **IoTEdgeBlobStorage**. The issue is that the Creation-Time appears to be empty when the request returns from the **IoTEdge module.** eg:
`

test.txt


Tue, 20 Aug 2019 08:12:37 GMT
0x8D7254629E53C01
32
application/octet-stream


DdOF7ew/k5qHSdf00h0hzg==


BlockBlob
unlocked
available
false

`

If you look at `azure/storage/blob/_deserialization.py` on you see something like `setattr(blob.properties, info[1], info[2](property_element.text))`

if the Creation-Time is empty this property_element.text is None which makes the call to the `info[2] (parser.parse)` crash

### Have you found a mitigation/solution?
Yes and no. You could test to see if property_element.text is empty or not. But I don't know if this is the way to go. It's maybe better to make sure that the blob storage returns a Creation-Time property.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en azure/storage/blob/_deserialization.py y sigue el análisis de la respuesta de list_blobs alrededor de la propiedad Creation-Time. Reproduce el fallo con una respuesta de Blob cuyo Creation-Time esté vacío, determina después el comportamiento esperado y verifica que list_blobs se complete sin que el analizador se bloquee.

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

Evaluación

Stack tecnológico
azure, python
Área
backend, cloud
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.