python - 如何在Python中通过URL下载Azure Blob存储文件?

标签 python azure blob

我正在尝试从我的存储帐户下载 Azure Blob 存储文件,为此,我已检查 URL 是什么,并且正在执行以下操作:

with urllib.request.urlopen("<url_file>") as resp:
    img = np.asarray(bytearray(resp.read()), dtype="uint8")

但是我收到以下错误:

urllib.error.HTTPError: HTTP Error 404: The specified resource does not exist.

我已仔细检查该网址是否正确。这是否与未传递我的订阅 key 或有关存储帐户的任何其他信息有关?

有什么想法吗?

最佳答案

截至 2019 年 12 月 26 日,我无法从 Azure 云存储导入 BaseBlobService。 BlobPermissions、generate_blob_shared_access_signature 都不适合我。以下是我使用过的东西,它对我的​​情况有效,希望它有所帮助

from azure.storage.blob import generate_blob_sas, AccountSasPermissions

def scan_product():

    account_name=<account_name>
    container_name=<container_name>
    blob_name=<blob_name>
    account_key=<account_key>
    url = f"https://{account_name}.blob.core.windows.net/{container_name}/{blob_name}"
    sas_token = generate_blob_sas(
        account_name=account_name,
        account_key=account_key,
        container_name=container_name,
        blob_name=blob_name,
        permission=AccountSasPermissions(read=True),
        expiry=datetime.utcnow() + timedelta(hours=1)
    )

    url_with_sas = f"{url}?{sas_token}"

关于python - 如何在Python中通过URL下载Azure Blob存储文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56769671/

相关文章:

azure - 将 jpeg 文件从 Microsoft Azure Blob 存储复制到 OneDrive

python - Gtk.TreeView 中的 Gtk.Entry(CellRenderer)

python - SQLITE 3安装错误

azure - 如何查看 Azure Devops 中的预定义变量

c# - 身份验证 token 没有注册级别访问权限

javascript - 从浏览器使用 JavaScript 将二进制数据保存为文件

python - 如何在Python中解析字符串以列出?

python - tensorflow 复制变量但不可训练以预训练下一层

json - 在 Azure 搜索查询中搜索 '-'

database - 存储很长的文本: BLOB or TEXT