这是我的应用程序用于检索Azure文本blob的Python函数。 gen_blob_to_text
功能的Here is the documentation(当您点击页面时,按Ctrl + F并搜索该功能的名称)。
def get_text_blob(self, archive_url):
container, archive_location = paths.extract_url_elements(archive_url)
blob = None
try:
blob = self.blob_service.get_blob_to_text(container_name = container,
blob_name = archive_location)
self.logger.debug('Retrieved ' + archive_url)
except:
self.logger.error('Failed to retrieve text blob {} {}'.format(archive_url, traceback.format_exc()))
return blob
运行此函数并获取blob
对象后(在我的情况下是一些HTML内容),如果我在Visual Studio 2017中检查它,我会得到以下不完整的blob文本,如{ {1}}
我的问题是:如何获取全文blob而不是其中的一部分?我做错了什么?
答案 0 :(得分:3)
我不能在我身边重现你的问题。我通过以下代码成功获得blob内容:
from azure.storage.blob import (
BlockBlobService
)
accountName = "***"
accountKey = "***"
containerName = "test1"
blobService = BlockBlobService(account_name=accountName, account_key=accountKey)
blobContent = blobService.get_blob_to_text(containerName,"storage.html")
print(blobContent.content)
我尝试在Text Visualizer中调试它。如果我正确地拖动窗口,它可以完全显示。
希望它对你有所帮助。
答案 1 :(得分:1)
似乎代码工作正常,但Visual Studio的Text Visualizer是截断的原因,如this Stack Overflow answer中所述。我可以确认这一点,因为如果我将blob的内容打印到控制台,则会打印所有HTML。
似乎Visual Studio的某些版本执行截断,而其他版本则没有(正如Jay的回答中所见,他的Visual Studio Text Visualizer显示了blob的全部内容;同时在我的文本展示台,我只看到一个部分字符串)。