【问题标题】:Azure functions - function.json where is it located?Azure 函数 - function.json 它位于何处?
【发布时间】:2019-07-02 19:09:18
【问题描述】:

我可以在网上看到在 function.json 文件中配置了绑定。我在 Visual Studio 中创建了一个 Azure Function 项目,我可以看到文件是在 out 文件夹中生成的。但这不是我项目的一部分。想法是将其添加到 local.settings.json 文件中,然后 Visual Studio 从那里获取它以生成文件(包括部署)?或者我应该在哪里添加绑定?似乎有点奇怪,我希望 local.settings.json 是一个不会部署到 Azure 的文件。

【问题讨论】:

    标签: c# azure-functions


    【解决方案1】:

    如果您使用已编译的 C# 类库函数,则构建过程会创建 function.json(查看 bin 目录)

    请看这里:https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-class-library#functions-class-library-project

    构建过程会为每个函数创建一个 function.json 文件。此 function.json 文件不应直接编辑。你不能 通过编辑此更改绑定配置或禁用该功能 文件。要了解如何禁用功能,请参阅如何禁用 功能。

    使用属性配置绑定 (see here)

    [FunctionName("ServiceBusQueueTriggerCSharp")]                    
    public static void Run(
        [ServiceBusTrigger("myqueue", AccessRights.Manage, Connection = "ServiceBusConnection")] 
        string myQueueItem,
        Int32 deliveryCount,
        DateTime enqueuedTimeUtc,
        string messageId,
    
        [Blob("sample-images-md/{name}", FileAccess.Write, Connection = "StorageConnectionAppSetting")] Stream outputBlob)
    
        ILogger log)
    {
        log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
        log.LogInformation($"EnqueuedTimeUtc={enqueuedTimeUtc}");
        log.LogInformation($"DeliveryCount={deliveryCount}");
        log.LogInformation($"MessageId={messageId}");
    
        //now store something to outputBlob
    }
    

    StorageConnectionAppSetting 在配置文件中定义。对于本地,即 local.settings.json

    【讨论】:

    • 谢谢。这也是我在帖子中所说的。我的问题是,我在哪里配置绑定?每次构建后配置生成的文件会很麻烦。
    • 什么绑定?你在创建什么样的触发函数?
    • 知道了!谢谢我专注于属性部分。非常感谢!
    • 最后一个问题 :D 因此,在您链接到以下示例的文档中使用。 [Blob("sample-images-sm/{name}", FileAccess.Write)] Stream imageSmall,你在哪里告诉函数写入哪个存储帐户?这里缺少链接吗?
    • 见这里:docs.microsoft.com/en-us/azure/azure-functions/…我又更新了示例
    【解决方案2】:

    我正在搜索它,但使用的是门户网站 (portal.azure.com) 终于找到了:

    从主页 -> 选择创建的功能应用 -> 在左侧菜单中选择功能 -> 选择您的触发器 -> 然后检查屏幕截图

    令人惊讶的是:您可以通过下拉菜单更改文件 :) 这是一个了不起的用户体验 感谢微软

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      • 1970-01-01
      • 2018-04-22
      • 2021-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多