【问题标题】:Azure serverless functions: input binding DataType "stream" not supportedAzure 无服务器功能:不支持输入绑定 DataType“流”
【发布时间】:2019-06-14 04:49:52
【问题描述】:

目标是在流中以 Azure HttpTrigger 多部分形式(带有文本文件)接收并将其通过管道传输到 Azure Blob 存储。在处理过程中,检查文件是否超过SIZE_LIMIT(20 兆字节),然后中止上传。

尝试像这样设置function.js

{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": ["post"],
      "dataType": "stream",
      "route": "myroute"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ],
  "disabled": false
}

但在调试中我看到变量req.body Buffer 类型。 我究竟做错了什么?甚至可以在 Azure Functions 中接收流吗?

【问题讨论】:

    标签: node.js azure stream azure-functions azure-blob-storage


    【解决方案1】:

    目前,Nodejs(非 C#)函数将传入内容读取为缓冲区是设计使然。

    这是跟踪流支持的thread,但似乎没有进行中。根据我们的要求,我们可能需要对缓冲区进行操作(转换为流等)。

    【讨论】:

    • 所以没有选项来验证传入文件的大小以防止内存问题?
    • @MichaelPikanin 我认为你是对的,在文件加载到内存之前没有验证选项。
    猜你喜欢
    • 2021-06-15
    • 2013-05-06
    • 2023-01-16
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2011-01-19
    • 2016-08-30
    • 2017-09-30
    相关资源
    最近更新 更多