¿Cómo importar Azure BlobService en python?

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

La documentación dice usar la siguiente statement de importación:

from azure.storage import BlobService 

Pero eso consigue el siguiente error:

 ImportError: cannot import name BlobService 

Probamos 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 de Azure pero está actualizado (versión 0.30.0)

    También intentamos desinstalar el almacenamiento de Azure e instalar todo el paquete de Azure, pero obtuvimos los mismos resultados. Intentamos instalarlos con pip y conda, pero los mismos resultados en ambas ocasiones.

    Soy consciente de que la salida sugiere que esta versión de azure.storage no tiene un 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/

    Si, si desea usar BlobService , puede instalar el paquete azure.storage 0.20.0 , hay BlobService en esa versión. En el último 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.

    Es posible que la biblioteca haya cambiado desde que se publicó ese tutorial, pero …

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

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

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

     pip install azure-storage 

    Pude probar esto descargando un objeto del almacenamiento:

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

    Nota: Podría importar PageBlobService de manera similar, pero tal vez no le PageBlobService demasiado valioso, ya que los blobs de página son principalmente para vhd.

    Tenía instalada la versión 1.0.3 (que incluye la versión 0.20 de azure.storage) en el servidor 16.04 LTS de Ubuntu y pip solo reinstaló la versión 0.20 de azure.storage de Ubuntu cuando desinstalé y reinstalé el paquete de azure. Esto se realizó 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 debería hacerlo.

     sudo pip3 uninstall azure sudo pip3 install azure 

    pypi / azure

    En cambio, esto funcionó para mí,

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

    Tuve el mismo problema después de usar pip para instalar el paquete azure 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 deba usar la opción “–upgrade” para que se instale correctamente (esta fue mi experiencia):

     pip install azure-storage --upgrade