2017-08-03 43 views
0

处理错误而进行连接,下面的代码不工作,试图用不正确的名称和密码仍然没有给予任何错误如何处理错误而产生的Azure存储连接

block_blob_service = BlockBlobService(account_name = account_name,account_key = account_key) 
try: 
if block_blob_service: 
    print('connection successful!') 
except Exception as e: 
     print('Please make sure the account name and key are correct.', e) 

回答

1

以下代码行:

block_blob_service = BlockBlobService(account_name = account_name,account_key = account_key) 

实际上是创造BlockBlobService实例(不知道是否创建实例是正确的说法:),从.NET领域推出),别无其他。

为了检查帐户名称/帐户密钥组合是否正确,您实际上需要在该存储帐户上执行操作,因为Azure存储中不支持Login类型的操作。

通常,我这样做的方法是尝试从该存储帐户列出blob容器。列出blob容器时,只需将num_results参数设置为1,因为我们只对检查帐户名称/密钥有效性感兴趣,而没有其他内容。

有三种可能的结果:

  1. 帐户名/关键是正确:在这种情况下,你不会得到任何错误。
  2. 帐户名称不正确:在这种情况下,您将收到remote name could not be resolved错误。
  3. 帐号密钥不正确:在这种情况下,您将从服务中收回403错误。

使用这些结果,您可以决定帐户名称/组合键是否有效。