使用HTTP触发器/通用webhooks创建azure函数之间的区别?

时间:2017-10-06 13:44:05

标签: azure serverless

我用" HTTP触发器"创建了azure函数。和#34;通用Webhooks"与Visual Studio 2017.我发现只有两个"触发"可以由HTTP请求触发。

这两个函数都有" HttpTrigger"作为参数。 所以当我们应该使用一个触发器时,我很困惑,因为两个触发器都允许我们在云中运行一小段代码。

它是如何彼此不同的?

3 个答案:

答案 0 :(得分:3)

HttpTriggered函数可以响应您配置的任何HTTP谓词。但是,webhook只响应POST并期望有效负载为JSON。

来源:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#responding-to-webhooks

  

这限制了只有那些使用HTTP POST和使用的人的请求   application / json内容类型。

答案 1 :(得分:1)

'Webhook'是用户定义的回调,可以在网站上注册,以防您想对某些事件作出反应。

例如,经常做的事情就是响应gtihub存储库中的事件,比如有人办理登机手续或添加问题。通常,您希望在签入时触发构建。您可以在github上register a callback/webhook指向您提供的对由github调用的HTTP POST做出反应的URL。

Azure函数可以configured由普通的HTTP请求触发,也可以设置为webhook,即只要某个网站上发生特定事件,就会调用它。配置为webhooks的功能仅响应HTTP POST。已经内置了值来将Azure功能设置为github或Slack webhook。

如果您没有对外部事件作出反应或者无法在事件源中注册webhook,只需使用HttpTrigger并显式调用您的函数。

答案 2 :(得分:0)

根据documentation,webhooks仅适用于Azure函数运行时的1.x版本,而如果使用较新的运行时2.x​​,则建议使用HttpTrigger。

从文档

  

在1.x版中,webhook模板为   webhook负载。在2.x版中,基本HTTP触发器仍然有效   这是针对Webhooks的推荐方法。