gpt4 book ai didi

c# - 函数监听器无法启动。 Azure函数应用程序时间触发

转载 作者:行者123 更新时间:2023-12-02 15:04:39 24 4
gpt4 key购买 nike

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

The listener for function 'Function1' was unable to start. Microsoft.WindowsAzure.Storage: Bad Request.

这是我的代码

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 不会出现错误,因为它不使用虚拟存储模拟器。

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

当然,也有可能存储模拟器服务没有打开。尝试输入

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

希望有帮助。

<小时/>

原始答案:

相同的代码在我这边运行良好,

解决方案:

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

也许this可以帮助你。

关于c# - 函数监听器无法启动。 Azure函数应用程序时间触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59026572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com