【问题标题】:Access denied to Azure storage拒绝访问 Azure 存储
【发布时间】:2017-02-03 14:50:34
【问题描述】:

我将图像存储在 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 门户编辑它们的位置。如果还有其他问题,也请告诉我。

编辑:

错误 - SuspiciousOperation:尝试访问“blob url”被拒绝。

【问题讨论】:

  • 你能发布确切的错误吗? FWIW,我认为这与 CORS 无关。当您通过 JavaScript 访问存储时,CORS 就会出现。
  • 这看起来像是 Python/Django 异常:docs.djangoproject.com/en/1.10/ref/exceptions.
  • @GauravMantri 是的,它是一个 django 异常,但它正在尝试访问 azure 上的图像,因此 azure 必须拒绝访问
  • 不。如果 Azure 拒绝访问,您应该会收到一条 HTTP 错误消息。

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


【解决方案1】:

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

from azure.storage.blob import BlockBlobService
from azure.storage.blob import PublicAccess 
from azure.storage.blob import ContentSettings

block_blob_service = BlockBlobService(account_name=ACCOUNT_NAME, account_key=ACCOUNT_KEY)
block_blob_service.create_container('newcontainer', public_access=PublicAccess.Container)
block_blob_service.create_blob_from_path(
    'newcontainer',
    'myblockblob',
    'C:\myimages\image.jpg',
    content_settings=ContentSettings(content_type='image/jpg')
            )
image_url = block_blob_service.make_blob_url('newcontainer', "myblockblob")
print(image_url);

您可以通过以下网址找到问题所在。

Django SuspiciousOperation at /upload/ when uploading a file

django suspicious operation on image upload

希望对您有所帮助。有任何问题,请随时告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2021-11-30
    • 2017-07-04
    • 2019-12-12
    相关资源
    最近更新 更多