Azure / Azure/azure-storage-python
create_blob_from_stream does not support string stream (StringIO or file in text mode)
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 343
- Forks
- 243
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### 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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par localiser le point d’entrée create_blob_from_stream et l’helper _get_data_bytes_only mentionnés dans le rapport. Vérifiez comment sont gérés les fichiers en mode texte et StringIO par rapport aux flux d’octets, puis vérifiez que create_blob_from_stream accepte les entrées de flux de chaînes signalées sans dégrader le comportement des flux d’octets.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- cloud
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100