2016-11-04 134 views
0

我已將Azure包添加到Anaconda發行版,並且還安裝了適用於Python的Azure存儲SDK。我試圖使用讀取已上傳至特定BLOB容器中的文件:如何使用Azure存儲SDK for Python讀取Blob的內容?

from azure.storage import BlobService 
blob_service = BlobService(account_name='azure subscription name', 
account_key='azure subscription key') 

blobs = [] 
marker = None 
while True: 
    batch = blob_service.list_blobs('vrc', marker=marker, prefix='VRC_') 
    blobs.extend(batch) 
    if not batch.next_marker: 
    break 
    marker = batch.next_marker 
for blob in blobs: 
print(blob.name) 

當我運行此腳本時,我收到以下錯誤:

ImportError: No module named 'azure.storage' 

請問該如何解決這個問題,所以我可以讀取我的blob容器中的文本文件和PDF文件?

回答

1

不太清楚你如何安裝存儲SDK,或者是什麼版本您正在使用,但你應該只需要做到以下幾點:

安裝:

pip install azure-storage 

導入和實例化blob服務:

from azure.storage.blob import BlockBlobService 
blob_service = BlockBlobService(account_name="<storagename>",account_key="<storagekey>") 

在這一點上,你應該能夠列出斑點(或下載斑點或任何你需要做的)。

+0

我在命令行中使用git從Github下載了存儲SDK。然後我運行pip install azure-storage。我嘗試使用Anaconda安裝它,但該軟件包不可用,只是Azure軟件包。 – SidC

+1

'azure-storage'需要密碼學。如果你使用的是linux,你也需要這樣做: https://cryptography.io/en/latest/installation/#building-cryptography-on-linux –

+0

我們如何讀取blob的內容?像文件流? –