繁体   English   中英

函数的侦听器无法启动。 Azure 函数应用时间触发器

[英]Listener for function was unable to start. Azure function app timetrigger

当我在本地环境中从 Visual Studio 运行 azure 函数时出现以下错误:

函数“Function1”的侦听器无法启动。 Microsoft.WindowsAzure.Storage:错误请求。

这是我的代码

using System;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;

namespace FunctionApp3
{
    public static class Function1
    {
        [FunctionName("Function1")]
        public static void Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, ILogger log)
        {
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
        }
    }
}

配置(即local.settings.json)

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

但是当我设置一个 http 触发功能应用程序时,它工作正常。

更新:

由于您使用本地虚拟化存储模拟器,因此您的连接字符串是正确的。

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

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

尝试禁用防火墙,看看是否可以解决问题。

当然也有可能是Storage Emulator服务没有打开。 尝试打字

"%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.部分服务未开启。

希望能帮助到你。


原答案:

相同的代码在我这边工作正常,

解决方案:

尝试将相同的代码复制到不同的位置。

也许 可以帮助你。

如果在 Visual Studio Code 中发生这种情况,可能是由于本地模拟器未启动。

在 VS Code 中安装 Azurite 插件,然后启动它。 在此处输入图片说明

https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite?toc=/azure/storage/blobs/toc.json

要启动模拟器,请在 Visual Studio Code 中按 F1 打开命令面板,然后执行以下命令。

Azurite: Clean

在此处输入图片说明

我发现问题在于我在另一个驱动器中运行了 Azure 存储模拟器,然后我有了我的项目。 即模拟器在 C:\\Emulator 上运行,项目在 S:\\MyFunction 上本地运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM