Azure 函数 - 值不能为 null。(参数"连接字符串")



我试图设置简单的Azure函数来读取XML流并将其同步回数据库。我的计划是使用时间触发器每天执行一次函数。

不过,情况看起来不太好。即使我不使用数据库,我也会收到以下错误:

[Error] Executed 'Functions.<func-name>' (Failed, Id=<func-id>, Duration=1ms)Value cannot be null. (Parameter 'connectionString')

我目前正在尝试执行以下功能:

module.exports = async function(context, req) {
context.res = {
body: "Success!"
};
};

同样的结果。我不能运行它。

我已将连接字符串添加到配置->连接字符串(根据消息,我认为我错过了它(。

我的functions.json文件看起来像:

{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 * * * *"
},
{
"type": "http",
"direction": "out",
"name": "res"
}
]
}

我也试过运行一个C#函数,结果是一样的。

那么,我错过了什么?

从微软到最好的日志记录

AzureWebJobsStorage应用程序设置丢失

解决方案:

  1. 创建存储帐户(或使用现有帐户(
  2. 转到功能应用程序的配置
  3. 将带有连接字符串的AzureWebJobsStorage添加到您的存储帐户(可以在存储帐户概述->访问密钥中找到(

在我的情况下,错误为Microsoft.Extensions.Configuration.AzureAppConfiguration value cannot be null: parameter (connectionString)

发生这种情况是因为我安装了Microsoft。扩展。配置AzureAppConfiguration在我的函数中将配置DI到我的主函数中。Startup.csstring cs = Environment.GetEnvironmentVariable("MyDifferentConnectionString");找不到MyDifferentConnectionString的环境变量,因此需要将其添加到Function config中。

  1. 转到应用程序配置(或创建一个(
  2. 访问密钥(在"设置"下(
  3. 复制连接字符串
  4. 转到您的功能
  5. 配置(在"设置"下(
  6. 使用环境变量的名称添加新的应用程序设置并粘贴值
  7. 保存并重新启动您的功能

这是部署问题,我刚刚将设置从appsettings.json/localsettings.json文件复制到配置部分。

最新更新