编辑:
我希望通过 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/