python - 从 Azure 表存储中提取字节值
问题描述
我正在编写一个 python 脚本来从 Azure 表存储中查询数据。
我要提取的数据是二进制类型(信息被序列化并存储)
当我使用entity['BodyChunk01]运行代码时, 我将值返回为
'BodyChunk01': <azure.data.tables._entity.EntityProperty object at 0x0DDFFB10>
(栏目名称为 BodyChunk01)
当我使用stackoverflow上另一个问题中提到的entity['BodyChunk01'].value时,它返回反序列化的 json 数据,但我想要存储的实际序列化值,如下面的屏幕截图所示
解决方案
我相信你想要完成的事情是不可能的。我查看了 SDK 代码here
,似乎 SDK 正在根据代码强制进行转换here
。
def _decode_base64_to_bytes(data):
if isinstance(data, six.text_type):
data = data.encode("utf-8")
return base64.b64decode(data)
您可能想在此处提出问题:https ://github.com/Azure/azure-sdk-for-python/issues并将其提请 SDK 团队注意。
我不太熟悉 Python,但你可以这样做:
import base64
decodedBytes = base64.b64decode(entity['BodyChunk01'].value)
decodedStr = str(decodedBytes, "utf-8")
推荐阅读
- python - Pandas 按多个条件删除重复的行
- iis - 外网电脑如何访问我的iis网站
- angular - NativeScript - Angular 9 升级后无法使用 nativescript-ui-sidedrawer 插件编译
- datetime - 如果 AWS Athena 中的记录也有时区,如何解析日期列?
- rest - Draw.io 使用 API 从 CSV 导入图表
- python - 使用 python + matplotlib 在时间序列图中添加水平线
- centos - libvirt的串口xml中target元素中的port属性是什么意思?
- django - /.platform/hooks/':将 Django 应用程序部署到 AWS Elastic Beanstalk 时没有这样的文件或目录
- javascript - 如何使用循环新选项添加 setAttributes
- php - Yii2 - 通过检测数据更改动态插入/更新数据库值