Azure创建容器

时间:2018-03-26 22:19:09

标签: python azure azure-storage azure-blob-storage

在继续创建存储blob容器时使用Python SDK创建Azure存储帐户后,会引发以下错误: ResourceNotFound指定的资源不存在。 请求ID:508e8df1-301e-004B-224E-c5feb1000000 时间:2018-03-26T22:03:46.0​​941011Z

代码段:

def create_blob_container(self, storage_account_name, storage_account_key, version):
    try:
        account = BlockBlobService(account_name = storage_account_name, account_key = storage_account_key.value)          
        container_name = "dummy container"
        container = account.create_container(container_name)
        if container:
            print 'Container %s created' %(container_name)
        else:
            print 'Container %s exists' %(container_name)
    except Exception as e:
        print e

有人知道如何解决这个问题吗?

P.S。:我正在等待存储帐户的配置状态成功,然后继续创建容器。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

首先,正如@Thomas和@trailmax在评论中提到的,容器名称和blob名称需要遵循naming rules。示例代码中的"dummy container"肯定与规则不一致。它会抛出异常:

  

azure.common.AzureHttpError:指定的资源名称包含   invalid characters.ErrorCode:InvalidResourceName

然后我测试你的代码,它对我很有用。

from azure.storage.blob import (
    BlockBlobService,
    ContainerPermissions,
)

accountName = "***"
accountKey = "***"
containerName = "test"

account = BlockBlobService(account_name = accountName, account_key = accountKey)
container = account.create_container(containerName)
if container:
    print 'Container %s created' %(containerName)
else:
        print 'Container %s exists' %(containerName)

我建议您检查request client是否有权在存储帐户中创建资源。如果没有创建权限,则会抛出异常。

希望它对你有所帮助。

答案 1 :(得分:0)

刚刚与Microsoft Azure团队交谈,显然他们正面临与存储帐户相关的网络问题。对我来说,当我试图创建一个容器时它总是失败,但是对于我的一个同事来说,他的结果好坏参半;有时它会在15秒内完成,有时需要10分钟,而且大部分时间都是拯救。

这可能是正在发生的事情 - 他们明天会通过更新回复我们。