2

在处理 azure 函数时,我在现有的 azure 函数应用程序中又添加了一个 azure 函数。

该函数是我的函数应用 (V1) 中唯一的时间触发函数。

然而,在计时器功能之前,我没有在任何早期部署中添加对存储帐户的任何引用。

当我尝试在线运行基于计时器的功能时,我收到如下错误:

The listener for function 'function1' was unable to start. mscorlib: One or more errors occurred. Microsoft.WindowsAzure.Storage: The remote server returned an error: (403) Forbidden.

我用谷歌搜索并得到提到在应用程序设置和连接字符串中添加“AzureWebJobsStorage”键的解决方案。但是没有运气。

谁能告诉我可以做什么?

4

2 回答 2

2

在存储帐户级别重新检查防火墙和网络设置。您的防火墙设置似乎限制 func 应用程序访问存储帐户

于 2019-12-30T08:01:13.743 回答
1

如果您在本地使用存储模拟器,请将UseDevelopmentStorage=true值添加到AzureWebJobsStorage,local.settings.json 将如下所示:

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

如果要在门户上使用存储,请转到门户获取存储连接字符串:

在此处输入图像描述

然后将连接字符串添加到AzureWebJobsStorage.


如果您在本地测试 timetrigger 并且仍然无法使用上述解决方案,请尝试将相同的代码复制到不同的位置。那也许行得通。

你在本地运行吗?还是在门户上运行?提供更多信息有助于解决此问题。


另一种可能性,请检查您的防火墙和网络设置。来自@Varun05 的建议。希望它有所帮助。

于 2019-12-30T02:37:35.090 回答