如何解决Azure 函数 - 我们什么时候需要将 out 用于输出绑定?
- 对于 Blob 存储,我可以将其声明为没有额外构造的绑定。
- 对于 CosmosDb ,我需要将其指定为 out 参数。
- 对于队列,我可以在属性中将其指定为返回。
我在下面有针对上述三种场景的示例代码
public static class myblobtestfunc
{
[FunctionName("myblobtestfunc")]
[return: Queue("samplequeue",Connection = "storageconnection")]
public static string Run([BlobTrigger("functiontestblob/{name}.txt",Connection = "storageconnection")]Stream myBlob,[Blob("copyblob/{name}",FileAccess.Write)]Stream copyBlob,[CosmosDB(databaseName: "testfiledb",collectionName: "testfilecoll",ConnectionStringSetting = "cosmosdbconnectionstring")]out dynamic document,string name,ILogger log
)
{
log.Loginformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
myBlob.copyTo(copyBlob);
document = new { Description = name,id = Guid.NewGuid() };
return name;
}
}
输出绑定可以使用三种方式中的任何一种来实现吗?即我可以使用 CosmoDb 绑定的返回值吗? 为什么有如此广泛的输出绑定样式选择?
解决方法
输出绑定可以使用三种方式中的任何一种来实现吗?即我可以使用 CosmoDb 绑定的回报?为什么有如此广泛的输出选择 装订样式?
如此广泛的输出绑定样式选择来自 Azure 函数社区不断推出的支持票。
其实对于具体的输出绑定,这三个不一定都可行。请参考官方文档。这三者的设计都是基于相应的SDK包,所以在大多数情况下,相当于在函数体中编写了基于相应SDK的代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。