如何获取使用 Python 触发我的 Azure 函数的 inputBlob 的名称

2022-01-17 00:00:00 python azure azure-functions blob

问题描述

我有一个 azure 函数,该函数由放入 blob 存储的文件触发,我想知道如何(如果可能)获取触发该函数的 blob(文件)的名称,我尝试过这样做:

I have an azure function which is triggered by a file being put into blob storage and I was wondering how (if possible) to get the name of the blob (file) which triggered the function, I have tried doing:

fileObject=os.environ['inputBlob']
message = "Python script processed input blob'{0}'".format(fileObject.fileName)

fileObject=os.environ['inputBlob']
message = "Python script processed input blob'{0}'".format(fileObject.name)

但这些都不起作用,它们都导致了错误.我可以得到一些帮助或一些建议吗?

but neither of these worked, they both resulted in errors. Can I get some help with this or some suggesstions?

谢谢


解决方案

可以通过 Function.json 捕获 Blob 名称并作为绑定数据提供.请参阅下面的 {filename} 令牌.Function.json 与语言无关,适用于所有语言.

The blob name can be captured via the Function.json and provided as binding data. See the {filename} token below. Function.json is language agnostic and works in all languages.

请参阅 https://docs 上的文档.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings 了解详情.

{
  "bindings": [
    {
      "name": "image",
      "type": "blobTrigger",
      "path": "sample-images/{filename}",
      "direction": "in",
      "connection": "MyStorageConnection"
    },
    {
      "name": "imageSmall",
      "type": "blob",
      "path": "sample-images-sm/{filename}",
      "direction": "out",
      "connection": "MyStorageConnection"
    }
  ],
}

相关文章