c# - Azure Functions 中 local.settings.json 的值

标签 c# azure azure-functions azureservicebus

我创建了一个如下所示的 Azure 函数(实际上,Microsoft 模板完成了大部分工作!):<​​/p>

[FunctionName("Function1")]
public static void Run([ServiceBusTrigger("%queue-name%", AccessRights.Listen)]string myQueueItem, TraceWriter log)
{
    log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}

我的 local.settings.json 看起来像这样:

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "..",
    "AzureWebJobsDashboard": "..",
    "AzureWebJobsServiceBus": "..",
    "queue-name":  "testqueue"

  }
}

然后我部署了这个函数。这是一个奇怪的问题,因为我的问题是这立即起作用,但我没想到它会起作用。 function.json 在这里:

{
  "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.0.0",
  "configurationSource": "attributes",
  "bindings": [
    {
      "type": "serviceBusTrigger",
      "queueName": "%queue-name%",
      "accessRights": "listen",
      "name": "myQueueItem"
    }
  ],
  "disabled": false,
  "scriptFile": "..\\bin\\FunctionApp8.dll",
  "entryPoint": "FunctionApp8.Function1.Run"
}

显然,local.settings.json 中的值已复制到功能设置中,但我在门户中看不到它们。我的问题是:这些设置现在存储在哪里(队列名称和 AzureWebJobsServiceBus)?

编辑:

该功能的我的应用程序设置:

App Settings

最佳答案

它们将位于 Azure 门户中已发布函数应用的“应用程序设置”选项卡下(见图)。

有一些文档 here !请注意,大多数应用设置不会自动发布,需要在发布步骤或发布后进行一些配置。

Application settings

<小时/>

更新:如果两个函数正在监听同一队列上的事件,则只会触发一个函数。这可能会导致看似错误的行为,因为函数会在预期时触发/不触发。

在本例中,意外行为来自竞争函数,而不是意外连接字符串。

关于c# - Azure Functions 中 local.settings.json 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48649237/

相关文章:

C# 将引号放在引号内?

c# - 为什么我更喜欢枚举而不是具有常量值的结构

azure - 是否可以异步查询 DocumentDB 的所有文档(即无分页)?

Azure 存储帐户拒绝托管服务标识的颁发者

Azure Functions - 拥有 host.json 和 local.settings.json 的目的是什么

c# - 从 .NET 4.5.1 应用程序 (EXE) 引用 .NET 3.5 DLL 使用 .NET 4.5.1 对象

c# - 如何将命名空间添加到 Visual Visual Studio 2010 中的默认 winforms 模板?

Node.js pm2 几乎每秒都会重新启动

azure - 是否有使用 Azure CLI 删除 Webchat channel 的命令

azure - 无法从逻辑应用程序查看Azure Functions