Azure / Azure/azure-storage-python
create_blob_from_stream does not support string stream (StringIO or file in text mode)
- 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 4.0.0, blob 1.4.0
### What problem was encountered?
`create_blob_from_stream` says it supports `io.IOBase`, however it only supports bytes stream, not string/plain text stream or file.
Relevant function and error raised
```
def _get_data_bytes_only(param_name, param_value):
'''Validates the request body passed in and converts it to bytes
if our policy allows it.'''
if param_value is None:
return b''
if isinstance(param_value, bytes):
return param_value
> raise TypeError(_ERROR_VALUE_SHOULD_BE_BYTES.format(param_name))
E TypeError: foobar should be of type bytes.
```
### Have you found a mitigation/solution?
No.
Note: for table service, please post the issue here instead: https://github.com/Azure/azure-cosmosdb-python.
Guía de contribución
Línea de trabajo
Empieza localizando el punto de entrada create_blob_from_stream y el helper _get_data_bytes_only mencionados en el informe. Comprueba cómo se gestionan los archivos en modo texto y StringIO frente a los flujos de bytes, y verifica después que create_blob_from_stream acepta las entradas de flujos de strings indicadas sin introducir regresiones en el comportamiento de los flujos de bytes.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- cloud
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100