如何在Azure存储上创建连接时处理错误

时间:2017-08-03 03:34:42

标签: python azure connection azure-storage-blobs

在建立连接时处理错误,下面的代码无效,尝试使用错误的名称和密码仍然没有出现任何错误

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 个答案:

答案 0 :(得分:2)

以下代码行:

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错误。
  4. 使用这些结果,您可以决定帐户名称/密钥组合是否有效。