假设我有一个如下所示的 Azure Function 方法定义:
[FunctionName("TestAzureFunction")]
public static async Task Run([BlobTrigger("{name}")]Stream fileBlob, string name, MyObject object = null)
我想向我的 azure 函数添加一个可选参数,以便其他代码也可以调用它。不幸的是,我收到一条错误消息,指出不支持此绑定(bind)。有谁知道如何解决这个问题吗?
提前致谢!
最佳答案
您可以在(私有(private))方法中实现实际功能,并从两个不同的函数调用该功能(或者让该方法成为公共(public)方法并直接调用它)。
伪代码:
// Use bindings here to get the added Blob and its name
[FunctionName("TestAzureFunctionBlob")]
public static async Task Run([BlobTrigger("{name}")]Stream fileBlob, string name)
{
await DoTheMagicAsync(fileBlob, name);
}
// Use bindings here to het the MyObject instance from the post method
[FunctionName("TestAzureFunctionHttp")]
public static async Task Run([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)]MyObject myObject)
{
var stream = GetStreamFromHttpRequest();
var fileName = GetNameFromHttpRequest();
// Call the generic method
await DoTheMagicAsync(stream, fileName, object);
}
private void DoTheMagicAsync(Stream stream, string name, MyObject myObject = null)
{
// Do your (async) magic here
}
关于azure - 向 Azure 函数添加可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61967456/