gpt4 book ai didi

python - 我想从 Azure 继承迭代器 ItemPaged - ItemPaged[TableEntity] 获取流对象到 Stream (Python)。是否可以?

转载 作者:行者123 更新时间:2023-12-03 03:47:01 26 4
gpt4 key购买 nike

我想从 Azure 继承迭代器 ItemPaged - ItemPaged[TableEntity] 获取流对象以进行流处理 (Python)。可能吗?

#更新于2021年8月11日我意识到将 Azure 表备份到 Azure Blob - Current process to backup Azure Tables 。但我想改进这个过程,并且正在考虑不同的选择。我尝试从 Azure 表获取流以使用 create_blob_from_stream

最佳答案

我假设您想要从 HTTP 响应中传输字节,而不是使用您收到的对象的迭代器。

SDK中的每个API都支持关键字参数调用raw_response_hook它使您可以访问 HTTP 响应对象,然后让您根据需要使用流下载 API。请注意,由于有效负载被认为代表对象,因此无论如何它都会预先加载到内存中,但您仍然可以使用流语法。

回调只是一个参数:

def response_callback(response):
# Do something with the response
requests_response = response.internal_response
# Use "requests" API now
for chunk in requests_response.iter_content():
work_with_chunk(chunk)

请注意,这是相当高级的,您可能会遇到困难,并且这可能不完全符合您的要求。我们正在 SDK 上开发一种新模式来简化这样的复杂场景,但尚未发布。您将能够使用 send_request 发送和接收原始请求方法,它使您可以对查询的各个方面进行绝对控制,例如解释您只想进行流式传输(内存中没有预加载)或默认禁用反序列化。

如果您有其他问题或需要说明,请随时在 Azure SDK for Python 存储库上提出问题:https://github.com/Azure/azure-sdk-for-python/issues

使用新建议进行编辑: TableEntity是一个类似于类的字典,所以你可以 json.dumps作为字符串,或 json.dump使用ItemPaged<TableEntity>时作为流。如果 JSON 转储引发异常,您可以尝试 azure.core.serialization.AzureJSONEncoder 中的 JSON 编码器: https://github.com/Azure/azure-sdk-for-python/blob/1ffb583d57347257159638ae5f71fa85d14c2366/sdk/core/azure-core/tests/test_serialization.py#L83

(我在 MS 的 Azure SDK for Python 团队工作。)

引用:

关于python - 我想从 Azure 继承迭代器 ItemPaged - ItemPaged[TableEntity] 获取流对象到 Stream (Python)。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68712323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com