python - 在 Python 中通过 SAS 导入 azure blob

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

编辑: 我希望通过 BLOB 特定的 SAS 将 blob 从 Azure 存储容器 导入到我的 Python 脚本中。

from azure.storage.blob import BlobService

sas_service = BlobService(
    account_name = "name",
    sas_token = "mytoken"
)

blob_content = sas_service.get_blob_to_path("container_name", "blob_name")

我尝试使用它,但它输出一个 OSError 列表,同时还列出一个“503 错误”

最佳答案

根据您的描述,您希望通过 SAS_TOKEN访问 azure blob 存储

您可以引用下面对我有用的代码片段:

from datetime import datetime, timedelta
import requests
from azure.storage.blob import (
    BlockBlobService,
    ContainerPermissions,
)

accountName = "<your_account_name>"
accountKey = "<your_account_key>"
containerName = "<your_container_name>"
blobName = "<your_blob_name>"

def GetSasToken():
    blobService = BlockBlobService(account_name=accountName, account_key=accountKey)
    sas_token = blobService.generate_container_shared_access_signature(containerName,ContainerPermissions.READ, datetime.utcnow() + timedelta(hours=1))
    return sas_token


def AccessTest(token):
    blobService = BlockBlobService(account_name = accountName, account_key = None, sas_token = token)
    blobService.get_blob_to_path(containerName,blobName,"E://test.txt")


token=GetSasToken()
print token
AccessTest(token)

您还可以引用official tutorial的更多详细信息.

希望对您有帮助。

关于python - 在 Python 中通过 SAS 导入 azure blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46910151/

相关文章:

python - 强制 Django 显示英语作为后备

python - 如何将列添加到具有基于列值填充范围的行的 pandas Dataframe

java - 有没有办法使用对称 key 通过 Azure Key Vault 加密消息?

azure - 我可以使用 ADF 托管标识从 Azure Databricks 访问 ADLS 吗?

sql-server - 已达到 Azure SQL Server 最大池大小错误

cdn - 在Azure CDN上托管字体-CORS支持

python - 如何在 Pandas 重新采样中包含字符串

python - 生成具有特定位数和 sum_of_digits 的随机数 (Python 3.8)

azure - 如何强制 Azure VPN 客户端使用虚拟网络的 DNS 服务器

azure - 跨 Azure 订阅使用专用终结点