考虑以下适用于v4
之前的函数应用程序的代码:
var bindingsConfig = new
{
bindings = new object[]
{
new
{
AuthLevel = "function",
Type = "httpTrigger",
Direction = "in",
Name = "request",
Methods = new[] {"post"}
},
new
{
Type = "http",
Direction = "out",
Name = "$return"
}
}
};
app = await myResourceGroup.GetWebSites().GetAsync("my-app-name", ct);
var func = await app.GetSiteFunctions().CreateOrUpdateAsync(WaitUntil.Completed, "my-func-name", new FunctionEnvelopeData
{
Config = BinaryData.FromObjectAsJson(config)
}, ct);
字符串
现在根据this doc,function.json
不再用于v4
编程模型。我的问题是-这是否意味着我不应该将bindingsConfig
传递到CreateOrUpdateAsync()
?当我尝试它时,我得到以下错误:
Azure.RequestFailedException: 'Error creating function. <my-func-name> is not a valid function name
Status: 400 (Bad Request)
ErrorCode: BadRequest
型
一般来说,我应该如何调用CreateOrUpdateAsync()
来创建一个v4
类型的函数?
1条答案
按热度按时间2fjabf4q1#
对于那些对解析感兴趣的人来说,事实证明,对
app.GetSiteFunctions().CreateOrUpdateAsync()
的调用永远不应该用于创建函数v4。这个调用会导致创建v3风格的function.json
,这与v4编程模型相冲突(v3和v4编程模型不应该混合在一个应用程序中)。同样重要的是,如果
node_modules
文件夹丢失(在Kudu UI中),请确保调用npm install
。