2016-05-27 47 views
0

私はPythonのアプリでAzure Storage Emulatorを使用しようとしたが、次のエラーを取得しています:NameError:グローバル名 'DEV_ACCOUNT_NAME' が定義されていません - Azureストレージエミュレータ

from azure.storage.table import TableService, Entity 

#Added after error 
global DEV_ACCOUNT_NAME 
DEV_ACCOUNT_NAME = "devstoreaccount1" 

table_service = TableService(account_name='devstoreaccount1', account_key='Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',) 

table_service.use_local_storage = True 
table_service.is_emulated = True 

table_service.create_table("test") 

エラー:

Traceback (most recent call last): 
    File "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensio 
ns\Microsoft\Python Tools for Visual Studio\2.0\visualstudio_py_util.py", line 7 
6, in exec_file 
    exec(code_obj, global_variables) 
    File "c:\ScratchApp\ScratchApp.py", line 17, in <module> 
    table_service.create_table("test") 
    File "C:\Python27\lib\site-packages\azure\storage\table\tableservice.py", line 
274, in create_table 
    request, self.use_local_storage) 
    File "C:\Python27\lib\site-packages\azure\storage\_common_serialization.py", l 
ine 212, in _update_request_uri_query_local_storage 
    return '/' + DEV_ACCOUNT_NAME + uri, query 
NameError: global name 'DEV_ACCOUNT_NAME' is not defined 
Press any key to continue . . . 

アイデア?

+0

変数を1つのモジュールでグローバルと宣言しても、他のモジュールからも変数が表示されることはありません。あなたの特定の問題に対処するには、これはしばらく前に修正された既知の問題(https://github.com/Azure/azure-storage-python/issues/58)である可能性があります。あなたは紺碧のストレージモジュールの最新バージョンをお持ちですか? –

+0

アップグレードがトリックでした - ありがとう。また、にTableServiceコンストラクタを変更しなければならなかった: ' (account_key = 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw =='、プロトコル= "HTTP"、ACCOUNT_NAME = 'devstoreaccount1') ' TableServiceあなたは答えとしてこれを投稿する必要があります。 – TomSelleck

答えて

1

変数を1つのモジュールでグローバルとして宣言しても、他のモジュールで変数を表示させることはありません。

特定の問題に対処するには、これはしばらく前に修正されたのようです。あなたは紺碧のストレージモジュールの最新バージョンをお持ちですか?

+0

この回答は完全に正しいですが、エミュレータを使用する方がずっと簡単です。これらの内部定数を使用してアカウント名とキーを直接設定するのではなく、[is_emulated = True](https://github.com/Azure/azure-storage-python/blob/master/samples/advanced/authentication.py# L48)。これにより、自動的にプロトコルを含めてすべてが正しく設定されます。 –

関連する問題