Azure / Azure/azure-storage-python
Unable to load serialized object persisted on Azure Blob storage
- Lenguaje dominante
- Python
- Estrellas
- 343
- Forks
- 243
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
We serialize the 'pipeline' object and store it on Azure Blob Storage.
```
with open("feg_pipeline.pkl", 'wb') as f:
dill.dump(pipeline, f, protocol=pickle.HIGHEST_PROTOCOL)
blob_service_client = BlobServiceClient.from_connection_string(conn_str=‘XXX’)
container_name = ‘YYY’
blob_service_client.create_container(container_name, public_access=PublicAccess.Container)
blob_client = blob_service_client.get_blob_client(
container=container_name, blob='feg_pipeline.pkl')
blob_client.upload_blob('feg_pipeline.pkl')
```
Later in a different function we read this from Blob storage as follows -
```
blob = BlobClient(account_url='https://fhghjhjh’,
container_name=‘YYY’,
blob_name='feg_pipeline.pkl’,
credential=‘XXX’)
feg_from_blob = None
with open("feg_pipeline.pkl”, "wb") as f:
data = blob.download_blob()
data.readinto(f)
with open("feg_pipeline.pkl”, "rb") as f:
feg_from_blob = dill.load(f)
```
For this we are getting
```
UnpicklingError: invalid load key, 'f'.
```
We have tried using -
Dill, Joblib, cPickle, CloudPickle and Pickle methods for serializing and deserializing, all of these gave keyerror while loading the object from the file downloaded from Blob.
Base64 encoding(while serializing) and decoding(while deserializing)..This gives a padding error while loading.
**What is the best way to persist and reuse such objects in Azure?**
Guía de contribución
Línea de trabajo
Comienza revisando las llamadas de Azure BlobClient upload_blob y download_blob mostradas en el issue; después, reproduce el flujo de serialización y descarga con el ejemplo de dill proporcionado. Compara los bytes escritos en feg_pipeline.pkl antes y después del round trip de Blob Storage y determina qué causa el UnpicklingError. Se considera terminado cuando se comprende el flujo de persistencia y está disponible una corrección documentada y reproducible.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- azure, python
- Área
- cloud
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100