从Azure Blob存储中的Azure函数中加载pickle文件

堪萨斯州

我尝试通过Azure函数构建服务,该函数使用http请求和固定numpy矩阵给出的向量执行矩阵乘法。矩阵作为泡菜文件存储在Azure Blob存储中,我想通过输入绑定加载它。但是,我无法加载泡菜文件。我能够加载纯文本文件。现在,我的方法如下所示:

    def main(req: func.HttpRequest, blobIn: func.InputStream) -> func.HttpResponse:
       logging.info('Python HTTP trigger function processed a request.')
       matrix = pickle.loads(blobIn.read())
       vector = req.params.get('vector')
       result = matrix.dot(vector)
       return func.HttpResponse(json.dumps(result))

我以这种方式运行时遇到的错误是UnpicklingError:无效的加载键'\ xef'经过一番谷歌搜索后,我尝试的另一种方法是:

    def main(req: func.HttpRequest, blobIn: func.InputStream) -> func.HttpResponse:
       logging.info('Python HTTP trigger function processed a request.')
       blob_bytes = matrix.read()
       blob_to_read = BytesIO(blob_bytes)
       with blob_to_read as f: 
          A = pickle.load(f)
       vector = req.params.get('vector')
       result = matrix.dot(vector)
       return func.HttpResponse(json.dumps(result))

但是它会产生相同的错误。我还尝试将矩阵保存到文本文件中,获取字符串并基于字符串构建矩阵,但是遇到了其他问题。那么如何在我的Azure函数中加载一个pickle文件呢?使用输入绑定加载此类文件甚至是正确的方法还是有更好的方法?非常感谢您的帮助!

Bowman Zhu

感谢evilSnobu的贡献。

因此,当遇到此问题时,这意味着您从代码中获取的pickle文件已损坏。

解决方案是添加"dataType": "binary"到function.json中的输入绑定中。

像这样:

{
  "name": "inputBlob",
  "type": "blob",
  "dataType": "binary",
  "direction": "in",
  "path": "xxx/xxx.xxx",
  "connection": "AzureWebJobsStorage"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

读取存储为.h5的blob并在Python的Azure函数中加载keras模型

来自分类Dev

上传存储在Azure Blob存储中的文件

来自分类Dev

列出Azure Blob存储中的文件

来自分类Dev

Azure 函数 - 从 Azure sql server 中的 blob 存储导入 bacpac 文件 - AAD 令牌

来自分类Dev

在python的Azure函数中从Azure blob存储读取数据

来自分类Dev

在python的Azure函数中从Azure blob存储读取数据

来自分类Dev

在Azure Blob存储中加密图像

来自分类Dev

Android Azure SDK-当我尝试从Blob存储中加载内容时出现NullPointerException

来自分类Dev

使用 Java 在 Azure Blob 存储中读取文件的文件属性

来自分类Dev

在Azure函数中使用Python根据Azure Blob存储中的模式匹配检查Blob的存在

来自分类Dev

在Azure Blob存储中的音频文件中查找

来自分类Dev

从Linux上传Azure Blob存储中的多个文件

来自分类Dev

删除Azure Blob存储容器中的文件夹

来自分类Dev

如何删除Azure BLOB存储中的所有文件

来自分类Dev

使用API在Azure Blob存储中编辑文件

来自分类Dev

Azure数据工厂将变量存储到Blob中的文件

来自分类Dev

将文件保存到Azure Blob存储中

来自分类Dev

将文件上传到Azure Blob存储中

来自分类Dev

将.txt文件保存到Azure Blob存储中

来自分类Dev

删除 Azure Blob 存储中的“文件夹”

来自分类Dev

使用 SDK 在 azure 函数中将 Azure blob 存储到 JSON

来自分类Dev

如何递归加载Azure Blob文件列表?

来自分类Dev

Azure Blob存储文件路径限制

来自分类Dev

Azure Blob存储大文件上传

来自分类Dev

从Azure Blob存储下载文件的示例

来自分类Dev

Azure存储块Blob上的小文件

来自分类Dev

Azure Blob存储下载所有文件

来自分类Dev

Azure文件服务与Blob存储-性能方面

来自分类Dev

Azure Blob存储下载所有文件

Related 相关文章

  1. 1

    读取存储为.h5的blob并在Python的Azure函数中加载keras模型

  2. 2

    上传存储在Azure Blob存储中的文件

  3. 3

    列出Azure Blob存储中的文件

  4. 4

    Azure 函数 - 从 Azure sql server 中的 blob 存储导入 bacpac 文件 - AAD 令牌

  5. 5

    在python的Azure函数中从Azure blob存储读取数据

  6. 6

    在python的Azure函数中从Azure blob存储读取数据

  7. 7

    在Azure Blob存储中加密图像

  8. 8

    Android Azure SDK-当我尝试从Blob存储中加载内容时出现NullPointerException

  9. 9

    使用 Java 在 Azure Blob 存储中读取文件的文件属性

  10. 10

    在Azure函数中使用Python根据Azure Blob存储中的模式匹配检查Blob的存在

  11. 11

    在Azure Blob存储中的音频文件中查找

  12. 12

    从Linux上传Azure Blob存储中的多个文件

  13. 13

    删除Azure Blob存储容器中的文件夹

  14. 14

    如何删除Azure BLOB存储中的所有文件

  15. 15

    使用API在Azure Blob存储中编辑文件

  16. 16

    Azure数据工厂将变量存储到Blob中的文件

  17. 17

    将文件保存到Azure Blob存储中

  18. 18

    将文件上传到Azure Blob存储中

  19. 19

    将.txt文件保存到Azure Blob存储中

  20. 20

    删除 Azure Blob 存储中的“文件夹”

  21. 21

    使用 SDK 在 azure 函数中将 Azure blob 存储到 JSON

  22. 22

    如何递归加载Azure Blob文件列表?

  23. 23

    Azure Blob存储文件路径限制

  24. 24

    Azure Blob存储大文件上传

  25. 25

    从Azure Blob存储下载文件的示例

  26. 26

    Azure存储块Blob上的小文件

  27. 27

    Azure Blob存储下载所有文件

  28. 28

    Azure文件服务与Blob存储-性能方面

  29. 29

    Azure Blob存储下载所有文件

热门标签

归档