我很荣幸作为演讲者参加了SAP Inside Track Hamburg 2019(sitHH),我的演讲是关于SAP系统与Microsoft Azure并排扩展的,云服务器设备,重点是该平台的无服务器选项。我还演示了在Windows机器上本地开发和执行Azure功能。
之后我进行了一些讨论,特别是关于本地开发和您的选项。一个有趣的可能性是将Windows Subsystem for Linux(WSL)用作Windows机器上类似沙盒的环境。由于sitHH只有少数人参与了讨论,而且我确信这对更多的开发人员来说很有趣,所以我决定写这篇关于这个特定选项的博客。
基本上,只有一个先决条件:您的Windows 10系统必须是64位系统,并且至少是1607版本(周年更新)。我在Windows10Pro 1909上完成了以下所有步骤,但是这不会有任何区别。
在开始开发之前,您有一些东西要安装,我将在以下部分中描述。
步骤1–在Windows中启用WSL
WSL是Windows10的可选功能。因此,必须显式启用此功能。您可以在此处找到必需的PowerShell命令:https://docs.microsoft.com/en-US/windows/wsl/install-win10:
之后你必须重新启动你的电脑。这是唯一一次这是必要的。
注意:目前WSL2是经常引用的网络,大数据趋势,但这个新版本的WSL还没有正式提供。我用了WSL1。如果感兴趣,您可以在此处找到有关WSL2的更多信息:https://docs.microsoft.com/en-US/windows/wsl/wsl2-index
第2步-在Windows上安装Ubuntu18.04 LTS应用程序
然后在Windows系统上安装Linux应用程序。去微软商店寻找免费的Ubuntu 18.04 LTS应用程序并安装该应用程序:
Linux系统将被下载,之后必须输入Linux用户名和密码才能完成安装过程。然后,您可以通过Ubuntu终端访问Linux系统。
备注:我使用的另一个选择是新的Windows终端应用程序,也可以通过Microsoft商店获得:
这个终端应用程序让您以选项卡式终端方式访问系统上的所有shell:
第3步-在WSL中安装软件包
接下来在Ubuntu上打开一个终端系统并执行一些内务管理,即通过apt get update、apt get upgrade、apt get dist upgrade和apt autoremove更新Linux系统。
之后,您需要安装官方Ubuntu repos中提供的以下软件包(此处无需定制repos):
Node viasudo apt get安装节点NPM通过sudo apt get install npm
由于我们想要开发Azure函数,您还需要在WSL中安装Azure函数核心工具。官方文件中描述了这些步骤:https://docs.microsoft.com/en-US/azure/azure-functions/functions-run-local#v2
请注意,有一个关于Linux的部分包含了Ubuntu和Debian特定的命令,你只需要Ubuntu部分——不要一个接一个地复制一个命令(我不会这么做的)在任何时候都是错的?)
成功安装后,您的本地Azure功能运行时可在Ubuntu系统中使用。您可以通过
第4步-安装Visual studio代码和WSL扩展来检查版本
我很确定几乎每个人都在Windows系统上安装了Visual studio代码(是在Windows上,不是在Ubuntu上)。如果没有,现在是时候做了。您可以从这里下载:
https://code.visualstudio.com/
当您启动Visual Studio代码时,系统将提示您安装"Remote–WSL"扩展,因为它识别该功能处于活动状态。如果没有,请通过visualstudio代码市场明确地这样做:
基本设置是从Windows上的visualstudio代码开发Linux中的Azure函数。听起来怪怪的?事实并非如此,网购返利,开发者的体验是超级流畅的…即使没有Qualtrics?的参与?。
让我们开始派对吧。转到Linux Bash Shell并为我们的"Hello world"Azure函数创建一个目录:
现在有一些魔术-在Ubuntu Shell中启动Visual Studio代码,方法是键入:
系统将自动在Ubuntu中安装Visual Studio代码的服务器部分:
之后,Visual Studio代码将在Windows上启动并通过远程WSL扩展如以下截图所示:
这太棒了!由于visualstudio代码服务器在Linux系统中,我们从零开始,我们在VS代码中没有可用的扩展:
因此通过市场在WSL中安装visualstudio代码的Azure函数扩展:
然后我们可以开始本地开发Azure函数。转到Azure函数扩展:
在我们刚刚在Linux系统中创建的目录中创建一个新的函数项目:
然后选择语言。对于本例,使用"JavaScript":
在定义触发器之后,启动函数。对于这个演示,使用"HTTP触发器":
接下来给你的函数一个名称:
在最后一步,你必须指定授权级别。对于这个演示场景,请使用"匿名"(在生产场景中不要这样做):
之后,系统将创建Azure函数的框架:
正如您所看到的,文件在您的Linux系统中,而您在Windows上使用Visual Studio代码进行了所有开发(至少UI正在运行)。