我用VS代码中的Python设置了Azure Functions应用。创建了几个http触发器之后,我想创建一个名为xml-update
的Blobtrigger。在我尝试部署它之前,所有方法都运行良好。功能应用返回404。我该如何调试?
我在Azure存储中有一个名为xml-feed
的Blob容器,其中一个名为jobs.json
的blob。当我使用这些绑定(和样板功能代码)部署Function App时...
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "xml-feed/jobs.json",
"connection": "AzureWebJobsStorage"
}
]
}
...该应用程序专门返回404。
当我在本地开发BlobTrigger函数时,我能够进行读取和写入而没有任何问题。 (到实际的云存储中,而不是本地仿真。)Function App日志显示以下错误:
下面的function.json
恢复了Function App的功能,尽管此功能已变得无用。
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "",
"connection": "AzureWebJobsStorage"
}
]
}
如果path
不是空字符串,则出现问题。 (即使它是一个普通的字符串,也让我对invalid character
错误感到怀疑。)我无法进一步挖掘更多信息。我在“应用程序设置”中检查了连接字符串,弄乱了存储权限,但是找不到原因。
编辑:样板功能代码:
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")
答案 0 :(得分:0)
我配置了一个全新的Function App,并部署了相同的代码。像魅力一样工作。我确定了这两个功能应用程序之间的区别:一个功能应用程序链接到自定义域,而另一个则没有。删除自定义域可以解决此问题。我将对此提出另一个问题。