在继续创建存储blob容器时使用Python SDK创建Azure存储帐户后,会引发以下错误:
ResourceNotFound
指定的资源不存在。
请求ID:508e8df1-301e-004B-224E-c5feb1000000
时间:2018-03-26T22:03:46.0941011Z
代码段:
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。:我正在等待存储帐户的配置状态成功,然后继续创建容器。
非常感谢任何帮助。
答案 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分钟,而且大部分时间都是拯救。
这可能是正在发生的事情 - 他们明天会通过更新回复我们。