2017-03-08 60 views
1

我对Azure函数通过绑定允许如此多的方法签名的方式感到着迷。有没有人知道他们是如何在封面上工作的,或者是否有任何与描述它的资源的链接?Azure函数绑定如何工作?

我得到的绑定必须指定,但框架如何找出要调用的方法签名?

回答

5

一个伟大的方式来学习绑定工作是如何自己写一个!我们有关于如何开始的维客页面Binding Extensions Overview,以及示例绑定和启动器项目的链接。通用绑定管道在The Binding Process中描述。即使你不去写自己的扩展,这些链接将帮助你理解事物。您还可以通过样本绑定或实际绑定进行调试,以了解它们的工作原理 - 这些都是开源的:)您从Azure函数中发现的很多绑定都位于azure-webjobs-sdk-extensions repo中,因此您可以在其中看到它们的内部工作方式。其他核心绑定生活在azure-webjobs-sdk

所有的Azure函数绑定都是在这些维基链接中描述的幕后WebJobs SDK绑定扩展。在此基础之上的Azure函数层,并为其提供基于跨语言JSON的元数据模型,如Azure Functions: The Journey博客文章中所述。

2

我不认为有详细说明它是如何工作的,但是,该项目是开源的,这样你就可以查看自己的代码的任何公开文件: https://github.com/Azure/azure-webjobs-sdk-script/

有相当多的代码参与其中,但我会集中在: https://github.com/Azure/azure-webjobs-sdk-script/tree/dev/src/WebJobs.Script/Description

这里是获取函数的参数代码: https://github.com/Azure/azure-webjobs-sdk-script/blob/dev/src/WebJobs.Script/Description/DotNet/DotNetFunctionDescriptorProvider.cs#L72