Azure函数Blob触发器失败-Python



我最近开始阅读有关Azure函数的文章,所以决定试一试。

我使用Python在Visual Code中创建了一个测试Azure函数,当blob上传到指定容器时,它应该会触发,但由于某种原因,我收到了以下错误:

2021-01-14T11:27:32Z   [Error]   Executed 'Functions.TestBlobTrigger' (Failed, Id=dfd0dd15-d937-486d-b6f3-1634745ff14d, Duration=37ms)

为了提供更多上下文,这是我的function.json文件:

{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "root/test",
"connection": "AzureWebJobsStorage"
}
]
}

这是我的_init_.py文件:

import logging
import azure.functions as func

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")

最后这是我的local.settings.json文件:

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=XXXX;AccountKey=XXXX;EndpointSuffix=core.windows.net",
"FUNCTIONS_WORKER_RUNTIME": "python"
}
}

如果能给我一些建议,我将不胜感激。

问题是由两个AzureWebJobsStorage(本地和门户(不同引起的。当您将函数从本地部署到azure时,它不会将local.settings.json中的AzureWebJobsStorage上传到门户上函数的应用程序设置中。

因此,解决方案是在local.settings.json中复制AzureWebJobsStorage的值,以取代门户上功能的应用程序设置中的AzureWebJobsStorage

最新更新