python - 在 azure 上的 blob 中存储值列表时,“list”对象没有属性 'encode'

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

我正在尝试在 azure 上的 blob 中输入多个值。

我有四个值要输入到 blob 中。

firstname
lastname
address
contact

所以我写了这样的代码:

from azure.storage.blob import BlockBlobService
from azure.storage.blob import PublicAccess

firstName = u'john'
lastName  = u'doe'
address = u'new york'
contact = u'2222222222'

block_blob_service = BlockBlobService(account_name='myAccountName', account_key='myAccountkey')
block_blob_service.create_container('mycontainer')
block_blob_service.create_blob_from_text('mycontainer','myblockblob',[firstName,lastName,address,contact])

但我收到以下错误:

'list' object has no attribute 'encode'

完整错误:

Django Version: 1.8
Exception Type: AttributeError
Exception Value:    
'list' object has no attribute 'encode'
Exception Location: D:\home\site\wwwroot\env\Lib\site-
packages\azure\storage\blob\blockblobservice.py in create_blob_from_text, 
line 773
Python Executable:  D:\Python27\python.exe
Python Version: 2.7.8
Python Path:    
[u'D:\\home\\site\\wwwroot\\env\\Lib\\site-packages',
'.',
'D:\\Windows\\SYSTEM32\\python27.zip',
'D:\\Python27\\DLLs',
'D:\\Python27\\lib',
'D:\\Python27\\lib\\plat-win',
'D:\\Python27\\lib\\lib-tk',
'D:\\Python27',
'D:\\Python27\\lib\\site-packages',
'D:\\home\\site\\wwwroot']
Server time:    Wed, 15 Nov 2017 21:43:33 +0000

有什么方法可以在我的 blob 中获取这些值。

最佳答案

您需要给出BlockBlobService.create_blob_from_text一个字符串。例如,您可以使用:

my_list = [firstName, lastName, address, contact]
block_blob_service.create_blob_from_text('mycontainer', 'myblockblob', ','.join(my_list))

从列表中创建一个以逗号分隔的值字符串,然后从中创建一个 blob。

或者,按照评论中的建议,将数据序列化为 pickle 或 JSON,然后使用 create_blob_from_bytes

关于python - 在 azure 上的 blob 中存储值列表时,“list”对象没有属性 'encode',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47317826/

相关文章:

python - Matplotlib。在 'for loops' 中绘制到同一轴

python - 打开上传的 CSV 文件时出现类型错误

python - 为什么我使用pystray时无法关闭?

python - 生成内置类型值的字典理解

c# - 检测到 Newtonsoft.Json 版本冲突。直接安装/引用Newtonsoft.Json 11.0.2(Azure Functions Visual Studio)

powershell - 术语 'New-AzureVirtualNetwork' 未被识别为 cmdlet、函数、脚本文件或可操作程序的名称

python - 如何用打包版本替换从源安装的 Python?

python - 如何从多处理队列继承?

Python raise 有两个参数

azure - 如何在Azure服务总线中的现有队列或订阅上设置自动转发消息?