【问题标题】:How to extract Azure JSON blob file contents in Python如何在 Python 中提取 Azure JSON blob 文件内容
【发布时间】:2021-11-27 22:30:54
【问题描述】:

我正在寻找一般指导/说明,不一定是实际代码。答案可能是:“你不能”,或者如果可行,请提供一些关于应该执行哪些步骤的说明。我已手动将 Azure blob 文件 (05.JSON) 下载到本地驱动器。 Blob 包含 JSON 格式的设备遥测消息。如果我查看原始 blob,我当然无法看到这些消息。如何在 Python 中检索原始消息 JSON?或者我可以吗?我尝试使用 Pandas.read_csv("05.json") 将 blob 加载到 Pandas 数据框中。它加载了它,但仍处于 blob 原始结构中,即无法在其 JSON 结构中看到原始消息。

更新:我刚刚发现 blob CONTENT-TYPE 是 application/octet-stream 所以我认为这就是为什么我在 blob 中看不到预期的 JSON 结构

【问题讨论】:

  • 我们没有关于文件 (05.JSON) 包含什么的信息
  • blob 存储中的文件只是文件 - 没有 Azure blob 文件之类的东西,所以您的问题似乎与 .json 文件有关?为什么要使用read_csv 来读取.json,而不是pandas.io.json.read_json
  • 您是否尝试过使用内置的 json 解析器读取数据? stackoverflow.com/questions/20199126/reading-json-from-a-file
  • 感谢大家的提示和建议。我发现 CONTENT-TYPE 应用程序/八位字节流而不是文本或 JSON。这就是为什么我在 blob 中得到 ASCII 代码而不是预期的 JSON 结构的原因。我需要弄清楚如何解码这个八位字节流。

标签: python json blob


【解决方案1】:

我发现 Azure IoT 中心默认情况下将 blob 保存在编码的 CONTENT TYPE = application/octet-stream 中,这就是为什么我看到无意义的 ASCII 字符而不是原始 JSON 的原因。 CONTENT TYPW 必须设置为 tp application/json 才能以 JSON 格式保存 blob。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-01
    • 2021-08-26
    • 2019-06-10
    • 2019-08-31
    • 2021-12-18
    • 2018-01-29
    • 2016-09-09
    • 1970-01-01
    相关资源
    最近更新 更多