Azure 函数 - function.json 它位于何处?

Tho*_*ato 5 c# azure-functions

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

Ale*_*lex 5

如果您使用的是已编译的 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 文件不应直接编辑。您不能通过编辑此文件来更改绑定配置或禁用该功能。要了解如何禁用功能,请参阅如何禁用功能。

绑定是使用属性配置的(请参阅此处

[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
}
Run Code Online (Sandbox Code Playgroud)

StorageConnectionAppSetting在配置中定义。对于本地,那是 local.settings.json