如何用Azure函数创建一个基本的Webhook消费者

如何用Azure函数创建一个基本的Webhook消费者

如何用Azure函数创建一个基本的Webhook消费者

Dec 20, 2017

出版商

出版商

尼克-齐默尔曼

尼克-齐默尔曼

-

类别

类别

电子邮件

电子邮件

Ready to see Bird
in action?

Ready to see Bird
in action?

How To Create A Basic Webhook Consumer With Azure Functions

Azure Functions Webhook界面

In November, I gave a talk at 现场直播!360 on how to create a basic webhook consumer using Azure Functions. This blog post will recap that talk and distill things so that you will understand the basics of Azure Function, and extend the 在Github上找到的框架解决方案。


什么是Webhooks?

Webhooks是许多流行服务提供的伟大的小东西,包括SparkPos

诸如t、Slack、Visual Studio Team Services、Office 365、Facebook、PayPal和Salesforce。Webhooks根据一个事件向你定义的端点发布数据。

为什么是无服务器函数?

无服务器功能是一项伟大的创新,有助于快速部署解决方案,同时减少企业的开销。无需维护硬件是一大优势,而且无服务器功能能够处理不可预测的流量flows 。它们易于部署和更新,因此可以快速启动和运行。


协同作用!"。

结合Webhooks和无服务器功能,可以非常容易地创建丰富的自动化或用户互动的生态系统。能够驱动所有这些不同的系统所产生的事件和数据,就不需要复杂的中间件,同时可以非常容易地纳入自定义代码和事件。


Azure函数基础知识

Azure函数可以通过Azure控制台或Visual Studio创建。我建议你把这两种方式都试一试,这样你就能熟悉这些经验了。在Azure控制台中创建的一个好处是,你可以将创建的Azure函数下载为Visual Studio解决方案文件。Visual Studio是你所熟悉和喜爱的那种强大的IDE体验。


这两种方法都有优势。Azure函数控制台让你可以直接控制函数的运行参数,从可用资源到月度使用限制,以控制成本。所有这些选项都可以从Visual Studio通过host.json文件和环境变量进行设置和操作。


创建一个基本的Webhook消费者

步骤1

创建一个新的Visual Studio解决方案,并为该解决方案添加一个新项目。



第2步

右键单击项目节点,并添加一个新项目。选择Azure函数。



第3步

现在你有一个非常熟悉的Visual Studio项目。你应该有一个基本的C# Azure函数的模板。是时候建立一些代码来消费你的webhook了。



第四步

本地调试。没错,你可以使用所有熟悉的 Visual Studio 调试和自省工具在本地进行调试。Pay 注意调试控制台,因为它包含了大量有价值的信息,涉及你在本地测试期间对函数的每次调用。



第5步

发布Azure函数。右键单击项目节点,选择发布。选择Azure功能和创建新的。注意,你也可以更新一个现有的功能。现在该函数将出现在你的Azure控制台中。



潜在的隐患

在使用webhook消费和无服务器函数时,人们最常遇到的陷阱是函数运行时间过长。这要么导致函数的成本很高,要么因为webhook POST超时而完全失败。有几件事你可以做,以调解这些问题。


Webhook消费者应以异步方式运行。数据应该尽快地被摄取,然后被处理。常见的设计错误是试图在数据进来的时候实时处理数据。只要数据是一致的、小尺寸的,这就可行,但如果数据尺寸可能增加或不一致,那么最好确保数据被接收并对HTTP请求做出响应,这样就不会发生超时了。


另一个可以帮助缓解长期运行的进程的方法是存储发布的数据,并使用无服务器函数启动一个容器化进程,使用类似Azure容器服务(AKS)的东西来处理长期运行的部分。使用这种设计,无服务器函数应该启动并忘记容器,让容器将其结果发布到日志或你选择的其他通知服务中。这使得无服务器函数尽可能地简短,同时仍然允许复杂的处理过程发生。


让我们点燃这支蜡烛

你已经拥有了它。现在你可以去使用无服务器函数和webhooks创建你自己的丰富生态系统了。下面是其他资源的清单,可以帮助你更深入地了解Azure Functions。

-尼克-齐默尔曼

ps--下面是一些关于Azure函数的额外资源,你可能会觉得很有趣--请欣赏。

Your new standard in Marketing, Pay & Sales. It's Bird

ǞǞǞ right message ->right person ->right time.

Your new standard in Marketing, Pay & Sales. It's Bird

ǞǞǞ right message ->right person ->right time.