python - Azure 存储访问被拒绝

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

我将图像存储在 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 存储。如果没有,请告诉我。

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

希望有帮助。如有任何疑问,请随时告诉我。

关于python - Azure 存储访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39699809/

相关文章:

python - 如何以django形式迭代特定表列

python - 发现 XLRD 不支持的格式

python - Django 中从 sqlite 迁移到 postgresql

azure - Microsoft Azure Data Lake 存储(Gen2)中的分层命名空间是什么?

python - python 3.5 中的回溯

python - 在n维数组中迭代修改基于数组的索引元素

python - 根据条件从数据框中随机删除行

python - 获取 Pyspark 中缺失评级的评级列表列,其中 0 已到位

json - 如何为Azure逻辑应用的触发器JSON架构中的字段设置默认值?

Azure Redis,如何使用 Microsoft Azure 管理库 (MAML) 在 .NET 中进行扩展