Azure functions Azure函数:函数';测试';无法启动。请验证Azure存储仿真程序是否正在运行

Azure functions Azure函数:函数';测试';无法启动。请验证Azure存储仿真程序是否正在运行,azure-functions,azure-function-app,azure-storage-emulator,Azure Functions,Azure Function App,Azure Storage Emulator,我在调试azure函数时遇到以下错误,该函数每30秒触发一次,创建一个文件并上载到azure存储帐户(使用azure存储模拟器进行开发) 函数“Test”的侦听器无法启动。mscorlib:一个或多个 发生了更多的错误。Microsoft.Azure.WebJobs.Host:请验证 Azure存储模拟器正在运行。Microsoft.WindowsAzure.Storage: 远程服务器返回错误:(500)内部服务器错误 尽管Azure存储模拟器已启动并正在运行。 下面是my local.set

我在调试azure函数时遇到以下错误,该函数每30秒触发一次,创建一个文件并上载到azure存储帐户(使用azure存储模拟器进行开发)

函数“Test”的侦听器无法启动。mscorlib:一个或多个 发生了更多的错误。Microsoft.Azure.WebJobs.Host:请验证 Azure存储模拟器正在运行。Microsoft.WindowsAzure.Storage: 远程服务器返回错误:(500)内部服务器错误

尽管Azure存储模拟器已启动并正在运行。 下面是my local.settings.jason-


有什么指针吗?

因为您使用的是本地虚拟化存储模拟器,所以您的连接字符串是正确的

如果防火墙限制func访问存储帐户,则可能会报告此错误。防火墙是侦听器无法访问虚拟存储仿真器的原因之一

在本地运行该函数时,除httptrigger之外的所有触发器都需要使用存储仿真器。如果防火墙限制侦听器对虚拟存储的访问,则在执行功能时可能会出现问题

尝试禁用防火墙,看看这是否解决了问题

当然,也可能是存储模拟器服务未打开。尝试键入

"%programfiles(x86)%\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" status
在cmd中检查状态

如果返回false,请输入以下命令以启动存储仿真器:

"%programfiles(x86)%\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" init
"%programfiles(x86)%\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" start
总而言之:

这类问题通常有三个原因

1.连接字符串错误阻止连接

2.设置了防火墙

3.某些服务未打开

查看文档:


是的,我已经用上面提到的命令检查过模拟器是否已启动并运行,防火墙是否已关闭,并且由于我正在使用本地存储模拟器,因此,正如您所说,连接字符串看起来也是正确的。仍然面临这个问题。当你说“某些服务没有打开”时,你在这里谈论的是什么服务,你能详细说明一下吗?@user13624867你正在使用什么工具来开发azure功能?是Visual Studio吗?@user13624867重新启动您的计算机,然后执行以下操作:如果您基于java或C#等语言,请转到已编译的文件夹并运行“func host start”。如果您基于javascript或python等脚本语言。只需在项目文件夹下运行“func host start”。查看是否仍然存在此问题。@user13624867在极少数情况下,报告此错误是因为在使用VS安装Storage Emulator的相关工具时工具已损坏。因此,如果使用Visual Studio进行开发,则可能需要卸载并重新安装Storage Emulator相关工具