python - 从 Azure 表存储中提取字节值

标签 python azure azure-table-storage azure-tablequery

我正在编写一个 python 脚本来查询 Azure 表存储中的数据。

我要提取的数据是Binary类型(信息被序列化并存储)

当我使用entity['BodyChunk01]运行代码时,我得到的值是

'BodyChunk01': <azure.data.tables._entity.EntityProperty object at 0x0DDFFB10>

(列名称为BodyChunk01)

当我使用 entity['BodyChunk01'].value (如 stackoverflow 上的另一个问题所述)时,它返回反序列化的 json 数据,但我想要存储的实际序列化值,如您所见在下面的屏幕截图中

Sample Byte Data

最佳答案

我相信你想要完成的事情是不可能的。我查了一下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 团队注意。

<删除> 二进制数据被转换为“Base64 编码字符串”,然后保存。您需要做的是进行 Base64 解码以获取字节数组。

我不太熟悉Python,但你可以这样做:

import base64
decodedBytes = base64.b64decode(entity['BodyChunk01'].value)
decodedStr = str(decodedBytes, "utf-8")

关于python - 从 Azure 表存储中提取字节值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67006120/

相关文章:

azure - 为具有身份验证的应用服务部署 ARM 模板时自动创建应用服务身份

javascript - 如何读取Azure函数HTTP请求的参数并使用blob存储中的文件进行响应?

azure - 无法在 CreateQuery 上获取 Azure TableEntity etag

python - 带有嵌套列表的字典 TypeError : string indices must be integers

python - emacs 24 : How do I get back emacs-23 sexp behavior for python mode?

azure - 使用 Azure Web 功能接收 Twilio SMS 消息

Azure 表存储作为数据工厂行键中的接收器

python - 为什么这个浮点转换异常没有被很好地捕获?

Windows 10 for Linux环境下的Python编程

c# - 如何将 IGroupMembersCollectionWithReferencesPage 从 Azure AD 转换为 C# 中的列表/集合?