get_blob_to_path python azure azure-storage-blobs

get_blob_to_path - Cómo importar Azure BlobService en python?



django azure blob storage (4)

Podemos importar azure.storage, pero no acceder al atributo BlobService

La documentación dice que use la siguiente declaración de importación:

from azure.storage import BlobService

Pero ese es el siguiente error:

ImportError: cannot import name BlobService

Intentamos lo siguiente:

import azure.storage ... foo = azure.storage.BlobService(...)

Pero eso recibió el siguiente error:

AttributeError: ‘module’ object has no attribute ‘BlobService’

También probamos todo lo anterior con "azure.storage.blob" en lugar de "azure.storage"

Intentamos actualizar el paquete de almacenamiento azul, pero está actualizado (versión 0.30.0)

También intentamos desinstalar Azure-storage e instalar todo el paquete azul, pero obtuvimos los mismos resultados. Intentamos instalarlos tanto con pip como conda, pero los mismos resultados en ambas ocasiones.

Soy consciente de que el resultado sugiere que esta versión de azure.storage no tiene ningún atributo BlobService, pero la documentación indica claramente que se debe importar desde allí.

https://azure.microsoft.com/en-us/documentation/articles/machine-learning-data-science-create-features-blob/


Es posible que la biblioteca haya cambiado desde que se publicó el tutorial, pero ...

Acabo de probar esto hace unos momentos, con éxito:

from azure.storage.blob import BlockBlobService blob_service = BlockBlobService(account_name="...",account_key="...")

E instalé el almacenamiento de Azure localmente a través de:

pip install azure-storage

Pude probar esto al descargar un objeto del almacenamiento:

blob_service.get_blob_to_path("containername","blobname","localfilename")

Nota: Puede importar PageBlobService de manera similar, pero es posible que no lo encuentre demasiado valioso, ya que los blobs de página son principalmente para vhd.


si, si desea usar BlobService , puede instalar el paquete azure.storage 0.20.0 , hay BlobService en esa versión. En la última azure.storage 0.30.0 , BlobSrvice se divide en BlockBlobService, AppendBlobService, PageBlobService Objeto BlockBlobService, AppendBlobService, PageBlobService , puede usar BlockBlobService reemplazar BlobService . Hay muchos artículos que necesitan actualizar el contenido.


Tuve el mismo problema después de usar pip para instalar el paquete azul y, como sugiere la respuesta elegida, esto se puede solucionar instalando azure.storage 0.33.0.

Sin embargo, si está utilizando pip, es posible que necesite usar la opción "--actualizar" para que se instale correctamente (esta fue mi experiencia):

pip install azure-storage --upgrade


Tenía la versión 1.0.3 instalada (que incluye azure.storage versión 0.20) en el servidor Ubuntu 16.04 LTS y pip solo reinstalé la versión 0.20 de azure.storage cuando desinstalé y volví a instalar el paquete azure. Esto fue de acuerdo con la página pypi para el paquete azure v. 2.0.0rc6 que recomienda que para actualizar de 1.0.3 a la versión 2 debe hacer

sudo pip3 uninstall azure sudo pip3 install azure

pypi / azul

En cambio, esto funcionó para mí,

sudo pip3 uninstall azure sudo pip3 install azure==2.0.0rc6