我最近开始阅读有关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
。