Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对Azure存储的访问被拒绝_Python_Django_Azure_Azure Storage_Azure Storage Blobs - Fatal编程技术网

Python 对Azure存储的访问被拒绝

Python 对Azure存储的访问被拒绝,python,django,azure,azure-storage,azure-storage-blobs,Python,Django,Azure,Azure Storage,Azure Storage Blobs,我正在Azure存储上存储图像。但当我试图访问bob url时,在存储了图像之后,它给了我拒绝访问的错误 我的代码: block_blob_service = BlockBlobService(account_name=ACCOUNT_NAME, account_key=ACCOUNT_KEY) block_blob_service.create_container('organisation', public_access=PublicAccess.Container) org = Orga

我正在Azure存储上存储图像。但当我试图访问bob url时,在存储了图像之后,它给了我拒绝访问的错误

我的代码:

block_blob_service = BlockBlobService(account_name=ACCOUNT_NAME, account_key=ACCOUNT_KEY)
block_blob_service.create_container('organisation', public_access=PublicAccess.Container)

org = Organisation.objects.get(pk=34)
image = download_image(org.org_logo.url)
bob = block_blob_service.create_blob_from_path(
        'organisation',
        org.name,
        image,
        content_settings=ContentSettings(content_type='image/png')
                )

image_url = block_blob_service.make_blob_url('organisation', org.name) **# same url is accessible via browser but not from script**

org.org_logo = image_url  **# this is giving error of access denied**
org.save()
我不确定,但我认为需要编辑我的存储的CORS设置,但我无法从azure门户找到编辑它们的位置。如果还有其他问题,也请告诉我

编辑:


错误-可疑操作:尝试访问“blob url”被拒绝。

根据我的经验,此问题的原因可能是您的代码对本地站点目录进行了可疑访问。您可以通过运行以下代码来测试是否可以获取图像URL。如果您可以在控制台中看到图像URL,则表示您有权访问azure存储。如果没有,请告诉我

从azure.storage.blob导入BlockBlobbService
从azure.storage.blob导入PublicAccess
从azure.storage.blob导入内容设置
block\u blob\u服务=blockblob服务(账户名称=账户名称,账户密钥=账户密钥)
block\u blob\u服务。创建容器('newcontainer',public\u access=publiccess.container)
阻止\u blob\u服务。从\u路径创建\u blob\u(
“新容器”,
“myblockblob”,
'C:\myimages\image.jpg',
content\u settings=ContentSettings(content\u type='image/jpg')
)
image\u url=block\u blob\u服务。make\u blob\u url('newcontainer','myblockblob')
打印(图像地址);
您可以通过以下URL找到问题所在


希望能有帮助。如有任何问题,请随时通知我。

根据我的经验,出现此问题的原因可能是您的代码对本地网站目录进行了可疑访问。您可以通过运行以下代码来测试是否可以获取图像URL。如果您可以在控制台中看到图像URL,则表示您有权访问azure存储。如果没有,请告诉我

从azure.storage.blob导入BlockBlobbService
从azure.storage.blob导入PublicAccess
从azure.storage.blob导入内容设置
block\u blob\u服务=blockblob服务(账户名称=账户名称,账户密钥=账户密钥)
block\u blob\u服务。创建容器('newcontainer',public\u access=publiccess.container)
阻止\u blob\u服务。从\u路径创建\u blob\u(
“新容器”,
“myblockblob”,
'C:\myimages\image.jpg',
content\u settings=ContentSettings(content\u type='image/jpg')
)
image\u url=block\u blob\u服务。make\u blob\u url('newcontainer','myblockblob')
打印(图像地址);
您可以通过以下URL找到问题所在


希望能有帮助。如有任何问题,请随时通知我。

您能公布准确的错误吗?FWIW,我认为这与CORS无关。当您通过JavaScript访问存储时,COR会出现。这看起来像是Python/Django异常:。@GauravMantri是的,这是Django异常,但它正在尝试访问azure上的图像,因此azure必须拒绝accessNope。如果Azure拒绝访问,您应该会收到一条HTTP错误消息。您可以发布准确的错误吗?FWIW,我认为这与CORS无关。当您通过JavaScript访问存储时,COR会出现。这看起来像是Python/Django异常:。@GauravMantri是的,这是Django异常,但它正在尝试访问azure上的图像,因此azure必须拒绝accessNope。如果Azure拒绝访问,您应该会收到HTTP错误消息。