您将如何构建您的第一个无服务器逻辑应用程序,第一部分
在Twitter上关注我,很高兴听取您关于主题或改进的建议/ Chris
这是#ServerlessSeptember内容集合。在这里,您可以找到所有文章,因为它们在2019年9月期间连续出版。
想象一下,你需要构建一个应用程序。要构建您的应用程序,您需要它与Dropbox,Excel,Twitter,Slack,云服务等许多东西集成。你成交量起袖子,知道你需要花费大量时间学习如何与每个API交谈,你需要生成API令牌并编写连接代码。几周之后,您可能已经完成了所有集成,您可能会开始考虑要实现的实际业务逻辑。停止,就像完全停止一样。如果这是你的应用程序,一堆集成,然后只是一个小的业务逻辑,那么有一个框架在那里为你。它是无服务器产品的一部分,它被称为逻辑应用程序。
这是系列的一部分
- 第一部分,我们在这里,搭建数据库并构建Logic App
- 第二部分,这部分介绍了如何构建我们的无服务器应用程序
TLDR;本文将花时间描述Logic Apps,它是一个很好的候选者,它包含哪些部分。我们将通过在其中构建一些东西来结束。
在本文中,我们将介绍:
- 为什么,在这里我们尝试描述像逻辑应用程序这样的框架真正发光并且什么时候没有发光的情况,以及何时有一个不太明确的情况下,是自己编写代码还是使用逻辑应用程序。
- 什么,我们将描述逻辑应用程序包含哪些部分,以便您充分了解可以使用它构建的内容
- 演示,我们将在Logic集成和数据库组成的逻辑应用程序中构建一些东西。这是一个有趣的构建方式,只需要很少的时间,并且可以通过更多的逻辑轻松扩展
资源
- 注册一个免费的Azure帐户如果您想构建逻辑应用程序和Azure功能,您将需要一个Azure帐户,它是免费的。
- 逻辑应用程序概述精彩的文档页面,概述了逻辑应用程序的内容以及教程的一些链接
- 逻辑应用程序LEARN很棒的介绍模块有很多概念。
- 逻辑应用程序学习II本单元将向您介绍Twitter,Cognitive Services和SQl Server的真实示例。
- 共有5个模块在aka.ms上了解逻辑应用5逻辑应用上的模块,涵盖“Hello World”到更高级的自定义场景。
- 逻辑应用程序中的连接器更深入地讨论连接器,它们是什么,存在哪些连接器
- 创建自定义连接器有关如何创建自定义连接器的精彩文档
- Azure代码中的Azure功能
为什么
正如我们在本文开头所述:在应用程序中需要进行大量集成意味着,要么花费大量时间为这些集成构建连接点,要么依赖于Logic Apps等集成框架。其他类似的框架。
有一个连接器
你的工作是找到使用集成框架而不是自己编写所有内容的最佳位置。一个明显的可能是整合的数量,也许更好的标志是您需要的集成在此列表中:
- 销售队伍
- Office 365
- 神谕
- 推特
- YouTube的
- Dropbox的
- 谷歌服务
- Azure认知服务
他们是?伟大的Logic Apps可能适合您。
没有?逻辑应用程序调用它们时,有100多个连接点或连接器。这是一个链接,您可以阅读有关支持哪些连接器的更多信息
连接器上的文档
我们如何编写业务逻辑?
好的,你在考虑使用Logic Apps吗?您的下一个问题可能是您如何在那里获得业务逻辑。有两个答案:
- 控制动作,逻辑应用程序中有一些称为控制动作的特定动作,它们允许我们表达分支逻辑,如IF THEN ..或LOOP UNTIL,你得到了这个想法
- 定制连接器,如果我们正在寻找的集成缺失和/或我们需要执行非常具体的逻辑,那么我们可以编写自己的连接器并实现这一点。您可以在此处阅读有关该案例的更多信息创建自定义连接器
所有这些都变得非常理论化,所以让我们试着解释一下Logic Apps的核心概念是什么以及它是如何工作的,这样你就可以更好地掌握它。
什么
那好吧。逻辑应用。理解所有概念的最简单方法是查看我们打算转变为逻辑应用程序的业务流程。像这样:
上面我们有一个社交媒体经理的流程。这会在主题上寻找新的推文。如果发生这种情况,我们会尝试确定内容是正面还是负面。如果肯定,那么我们存储 link
到数据库中的推文。如果它是否定的,那么我们会通过电子邮件向我们的客户部门发送后续行动。
这个相对简单的过程有助于在Logic Apps中轻松编写,我们做的第一件事就是确定什么是什么,过程中的哪个阶段对应于什么概念。
我们从顶部开始吧。
触发
触发器是启动整个过程的东西,它根据条件激活。在这种情况下,它会激活,因为在特定主题上发布了推文。
行动
在行动步骤中,我们带出了一些东西。在这种情况下,我们将推文文本作为输入参数发送到认知服务以确定情绪,例如它是正面推文还是负面推文。
控制
控件是一种动作,也称为控制动作。在这种情况下,它试图根据从认知服务获得的分数值来确定是将某些内容存储在数据库中还是通过电子邮件发送给客户服务。
更多操作
我们的最后一步包括两个不同的行动 Store link in database
和 Email customer service
。与行动一样 Detect sentiment
这是我们需要开展的事情。
我们如何创建逻辑应用程序?
好的,你可能在这一点上有更好的想法是什么构建块。那我们该怎么做呢?我们如何创建逻辑应用程序?
我们用的东西叫做
Logic Apps Designer
这是一个存在于Azure门户中的可视化工具,而且它几乎可以拖拽组件并配置输入和输出。但是,当您可以将Slack或Twitter等不同连接器与云服务连接时,它功能强大,功能强大。
它看起来像什么,我需要一个视觉,给我一个视觉
你将拥有一个视觉
从上图中,我们可以看到我们从顶部布置了不同的组件/连接器。只需快速浏览一下,我们几乎可以基本了解它的作用。
足够的理论,最好的学习方法就是去做。 🙂
演示
在本演示中,我们将执行以下操作:
- 配置和创建数据库,SQL Server数据库将包含一些列,这些列将帮助我们存储有关推文的信息
- 创建一个逻辑应用程序,该应用程序将收听来自Google的特定推文并将其放在数据库中
- 构建无服务器API,无服务器功能应用程序将用作从Sql Server数据库读取的API
- 实现UI,我们将使用Angular构建一个使用无服务器API的SPA应用程序
配置和创建数据库
那好吧,让我们创建一个数据库。我们需要做两件事:
- 提供数据库
- 添加一个包含有助于我们存储所需内容的列的表
提供数据库
去 portal.azure.com
。登录,然后单击 Create a resource
。然后选择 SQL Database
如下所示。
填写红色表示的所有字段。如果你需要创建一个服务器,你将获得 New Server
右边的对话框。
最后按 Review and Create
。这会将您带到一个屏幕,要求您查看一切正常。在最后的屏幕上按下 Create
它应该开始供应。
添加一个表格
在涉及我们的数据库时,我们还有一件事要做。它需要一张桌子。那么我们需要哪些列以及我们的表应该做什么?好吧,我们的意思是使用它来存储推文上的信息,以便以下可能是好的:
- 如果我们需要,我们可以找到实际的推文
- 发布日期,很高兴知道它何时被推文,因此我们了解随着时间的推移会发生什么
- 位置,知道它被推文的位置将给我们一个很好的迹象,表明世界的哪些部分关心某个主题
- 当然,推文,我们需要推文内容,以便我们稍后进行分析
好的,那么让我们转到我们的SQL Server资源。
鉴于我们为数据库设置的凭据,我们将被要求登录。
第一次绕过它会告诉我们我们没有访问权限。要获得访问权限,我们需要设置防火墙规则。幸运的是,这很容易。只需点击下方的蓝色链接即可 Password
当它告诉您无权访问时出现的字段。这将带您进入如下所示的页面:
上面我们有一个标签 Client IP Address
。在右边那是我们的机器IP。获取该IP并在字段中输入 START IP
和 END IP
。然后在该字段中填写您的规则的名称 RULE NAME
。好的,我们完成了,让我们回到登录屏幕。我们填写用户名和密码,这次我们提供查询编辑器。
我们没有任何桌子,但右边有一个大的文字区域。我们需要定义一个包含一些列的表。
在textarea中,添加以下内容:
create table Mentions( id INT PRIMARY KEY IDENTITY, TweetText varchar(500) NULL, TweetId varchar(100), TweetDate DATE NULL, TweetLocation varchar(100) );
并按 Run
创建我们的表。
现在我们有一张桌子。太棒了,下一步是构建我们的逻辑应用程序。
创建一个逻辑应用程序
我们留在这个门户网站。要创建一个逻辑应用程序,我们只需要去 Create Resource
。类型 Logic App
并选择它,如下所示:
此时,您将填写逻辑应用程序所需的数据 name
, resource group
和 location
。然后它应该开始配置你的逻辑应用程序。
此时,我们需要滚动并选择 Blank Logic app
让乐趣开始 :)
我们需要执行以下操作:
- 选择触发关键字的Twitter触发器,即标签
- 连接SQL Server并将其列映射到Twitter字段。
选择Twitter触发器
搜索 Twitter
应该说,选择出现的Twitter图标 When a new Tweet is posted
。此时应显示:
您需要按照指示登录Twitter。完成后,它应该改变外观,如下所示:
指明要搜索的文本 #brexiteer
,是的,数据库将立即填满:D
填写合适的间隔,我们一起去 1
分钟。
接下来,我们需要连接我们的SQL服务器,我们通过单击来完成 New Step
。
如果我们现在搜索 SQL server
我们应该得到这样的东西:
下面你可以看到 SQL server
有两种口味 Trigger
和 Actions
。如果我们想要根据数据库中的变化来构建应用程序,那么值得关注的是未来想法:)
返回我们的应用程序,选择 Actions
并选择 Insert Row v2
。它现在应该是这样的:
现在点击 Manually enter connection info
:
此时选择你的 Server name
, Database name
和 Table name
。
现在来了有趣的部分,twitter参数与我们的列的匹配:)
首先点击 Add new parameter
并检查数据库中的所有列。然后单击一个字段,将从右侧弹出一个对话框,其中包含Tweet字段的选项。继续单击数据库字段和相应的推文字段,直到它如下所示:
按下完成此操作 Save
。逻辑应用程序部分到此结束。
摘要
这结束了第一部分,在下一部分中,我们将构建无服务器API
2部分