Azure 函数 blob 触发 blob 参数错误

Azure function blob trigger blob paratemer error

我正在使用 blob 触发器读取 blob 内容,作为 pandas DF 处理并将 blob 附加到我正在使用的 Azure SQL 服务器。

blob 触发器没有按预期工作,所以我在 main 函数中定义了所有代码:

def main(myblob: func.InputStream):
    logging.info(f"Python blob trigger function processed blob \n"
                 f"Name: {myblob.name}\n"
                 f"Blob Size: {myblob.length} bytes")
    file = re.sub(r'^(.*?)\/','',myblob.name)
    if file not in processedfiles:
        stream = BytesIO((myblob.read()))
        stream.seek(0)

但是我收到以下错误:

Exception: FunctionLoadError: cannot load the BlobFileTrigger function: 
binding myblob has invalid non-type annotation <sqlalchemy.sql.functions._FunctionGenerator object at 0x7faa340f6a00>

谁能帮我找出这个问题的原因?

function.json配置如下:

{
  "scriptFile": "__init__.py",
  "disabled": false,
  "bindings": [
      {
          "name": "myblob",
          "type": "blobTrigger",
          "direction": "in",
          "path": "input/{name}",
          "connection":"StorageConnection"
      }
  ]
}
  • 配置的function.json文件没问题

  • 如果你得到一个空字节字符串,那么首先使用 seek(0) 方法,然后从 stream.

    中使用 Read()
  • 确保 if 条件在 processedfiles 上是正确的,因为如果在 processedfiles 中没有找到任何文件,那么只有你的案子将被执行。

    即:- stream = BytesIO((myblob.read()))

参考:

Azure Functions with Blobtrigger in Python