2018年12月11日,星期二

滑板– PowerAppsand Azure功能 talks 从 ESPC 2018

上周,我在可爱的哥本哈根的ESPC 2018(欧洲SharePoint,Office 365和Azure会议)上度过了愉快的时光。并不是我看到的城市太多,但是我确实赶上了很多来自Office 365 / SharePoint社区的朋友和Microsoft人员。能够参加今年的会议也很荣幸。我认为这次活动总体来说很棒,在参加的会议中我看到了很多很棒的内容。我也有一些 与与会者的对话– 谢谢 给所有想来的人 问一个问题,评论我的事情’d talked about or just to say hello! 那 aspect is always the bit I enjoy most about these conferences. 

I’m发布了我的两个演讲中使用的幻灯片,视频和一些示例代码。幻灯片应嵌入下面(至少在您 ’在PC上重新查看),但也已链接。

An A-Z of Azure功能 for the Office 365 developer

我认为大多数人都会同意,了解Azure功能对于成为高效的Office 365开发人员至关重要。本次演讲的重点领域包括性能,价格,Visual Studio vs. VS Code的使用,在Azure函数中使用自定义代码扩展PowerApps和Flow,在功能上扩展SharePoint网站设计以用于模板化现代SharePoint网站(包括用于Microsoft Teams的功能)和更多。

我也可以通过下面的链接获得演示视频:

视频不’没有标题,但确实执行了实现目标的步骤(例如,使用自定义代码扩展PowerApps / Flow),并且在甲板上查看时应该有意义。

AF 6

企业级PowerApps–具有离线支持和本地数据的丰富应用程序

PowerApps越来越强大,这个演讲是部分案例研究/部分参考。我专注于如何实现脱机支持,如何连接到本地数据以及有关性能和管理的各种技巧。我还将讨论可以在PowerApps公式中使用的150多个列表中最重要的PowerApps函数。

再说一次’m还发布了一些相关的内容:

COB PowerApps1

感谢拍摄这些照片并将其发布到Twitter上的人们。

希望那’对人有用– 和 hopefully I’明年在布拉格见!

2018年11月12日,星期一

在欧洲SharePoint,Office 365和Azure Conference 2018上的演讲

ESPC18徽标在两周内’时间,ESPC 2018在哥本哈根举行– this year’的活动看起来很棒,我认为’微软现在已将此活动用作其欧洲平台,而不是在该地区举办自己的主要Office 365会议,这已不是什么秘密。一世’我很荣幸有两个演讲席位,今年我’我实际上是参加会议的计划团队的,所以我’参与安排日程表和演讲者,以及其他一些职责。

It’来得太晚了! I’我今年当然有偏见,但我不’t there’在欧洲的任何类似活动中,您都可以学到很多东西,并且可以与Microsoft产品小组的人员,高级执行官,MVP和行业中的才华横溢的人进行很好的对话。微软正在发送 很多 人,包括:

  • Jeff Teper-SharePoint,OneDrive和Office的公司副总裁
  • Dan Holme-产品行销总监(SharePoint)
  • Adam Harmentz-SharePoint和Office 365上的合作伙伴组程序管理
  • Omar Shahine-OneDrive和SharePoint程序管理总监
  • Aaron Rimmer-OneDrive产品营销总监
  • Vesa Juvonen-SharePoint工程高级项目经理(技术主题演讲)
  • Sean Squires-SharePoint资深项目经理
  • Mike Ammerlaan-办公室主任&SharePoint生态系统营销
  • Naomi Moneypenny-企业搜索高级产品经理
  • Chris McNulty-SharePoint和Office 365高级产品经理
  • Karuana Gatimu-微软团队工程部客户支持小组首席项目经理

还有更多!看到 //www.sharepointeurope.com/microsoft-sessions-espc18/ 有关详细信息。

我的会议

我的演讲的细节是:

企业级PowerApps–具有离线支持和本地数据的丰富应用程序(11月27日,星期二,15:15)

首先,PowerApps可能很简单,但更高级的方案可能会很棘手。在本节中,我们’我们将研究构建企业应用程序的关键方法,包括使应用程序脱机工作所需执行的操作以及如何连接到本地数据。我们’ll also consider “黄金三镖客” of PowerApps–从跨设备使用,提高性能的技术到构建应用程序时的常见麻烦。

An A-Z of Azure功能 (Wednesday 27 十一月, 15:15)

Azure功能是“get out of jail card”适用于实施Office 365解决方案的架构师/开发人员。能够’完全满足您在Flow中的需求吗?加载PowerApp时需要查找一些数据吗?使用网站设计实施自定义团队网站?需要按计划运行流程吗?答案可能是Azure功能–因此,您需要全面了解此构建基块,才能将其有效地编织到解决方案中。我们’我们将研究身份验证,缩放,编码样式,调用Microsoft Graph和其他高级功能,以便无论您遇到哪种情况,您都可以始终调用一些自定义行为。

去和你老板谈谈!

这项活动愈演愈烈,往年在巴塞罗那,斯德哥尔摩,维也纳和都柏林的经历都令人赞叹。我强烈建议尽量参加– 和 I haven’t even mentioned the 全天会议前辅导 来自安德鲁·康奈尔(Andrew Connell),保罗·皮亚尔西(Paolo Pialorsi),苏珊·汉利(Susan Hanley),约翰·怀特(John White)和蒂亚戈·科斯塔(Tiago Costa)等人,还有精彩的晚间活动。它’与计划团队的其他成员(迈克·阿默兰,比尔·贝尔,朱西·罗因,艾格尼丝·莫纳尔,唐纳德·赫辛,当然还有特雷西·奥辛,’Connell)到目前为止,我’我期待着现在的盛会。

完整细节在 //www.sharepointeurope.com 当然。希望在那里见到你!

ESPC17-都柏林-dub_2326

2018年11月5日,星期一

掌握Office 365开发方案–最重要的是,2018年11月

我时不时地想收集一些我认为对Office 365 / SharePoint开发人员具有重要经验的方案的清单。有时,我’我会把一张幻灯片放在一起列出来,’比我的OneNote粗略注释更好的格式,并且作为在Office 365中提供解决方案的有用技能清单,列在了我的团队(和我自己!)的前面。毫无疑问,没有一个“correct” list 和 it’都非常主观–但是,下面的图像显示了一些当前对我来说最重要的信息,我认为可能值得分享。一世’最近不得不处理几乎所有这些,’完全在塑造我的名单!但是我认为可以有效处理所有这些情况的开发人员目前在Office 365中具有很多功能:

(点击放大)

365个开发方案-2018年11月

我很快’d希望在此列表中添加一堆SPFx / Team集成方案(当SPFx 1.7登陆时)–毫无疑问,还有很多其他方面需要考虑。它’不断变化的景观,我认为半定期进行锻炼本身很有用! 

2018年10月4日,星期四

3 ways to create 和 调试 Azure功能 –CLI,VS Code和Visual Studio

最近我’我一直在思考使用Azure函数的不同方法,以及每种方法的优缺点。我想更好地了解Azure Functions核心工具(也称为CLI),以及在本地开发功能并将其发布到Azure中所扮演的角色。一世’d最近看到一个Microsoft家伙在他的演示中使用了此功能,我想知道我是否缺少Azure Functions的一个重要方面(我一直试图保持这一地位)。在Visual Studio Code /完整Visual Studio /带有核心工具的命令行方法之间,’s a 很多 of overlap –那么什么时候最好?

我在SharePoint Conference 2019上谈论这一点!
如果您想了解更多有关此的信息,我将在SPC 2019上就该主题举行会议。会议将于5月21-23日在拉斯维加斯举行-请参阅 //sharepointna.com 更多细节。并在使用时使用代码“ OBRIEN”! ;)
Things you should be aware of when developing with Azure功能:

  Azure功能 v2:
Microsoft最近发布了Azure Functions v2,该版本在绑定,运行时行为和性能方面存在一些差异。但是,如果你’关于Office 365 / SharePoint人员,请注意,此时(2018年10月),如果要使用CSOM或PnP,则需要使用v1进行C#功能。这是因为我们不’还没有这些软件包的.NET Core版本–和v2在.NET Core上运行。那么你’如果您尝试使用v2来构建函数,则将获得错误。希望我们赢了’虽然不必等太久– see //twitter.com/vesajuvonen/status/1045668458971766784

  The Azure功能 Core Tools/CLI:
尽管我在这里讨论了用于开发/发布功能的3个选项,但实际上Core Tools是所有这些功能的前提条件。无论您选择使用Visual Studio Code还是使用完整的Visual Studio编写代码,在任何情况下,核心工具都会处理* 调试ging *。我注意到安装过程中“option 1” section below..

OK,回到开发选项。首先让’明确每个过程的外观。

Option 1 - with Azure功能 Core Tools/CLI

命令行方法可能很有趣,因为它可以’跨平台相同,尽管公平地说’目前仅可在macOS和Linux上使用的Azure Functions版本2。但是您得到的是以下功能:

  • 创建你的功能
  • 在本地运行
  • 部署到Azure中的功能应用程序 

要求前:

  • 确保在计算机上安装了.NET和node.js(对于npm)
  • Install Azure功能 Core Tools using npm install -g azure-functions-core-tools @ core
  • 看到 Install the Azure功能 Core Tools 了解更多信息

处理:

We’在这种情况下,将在JavaScript中创建一个简单的HTTP函数。如您所料,我们在命令行运行命令来创建新功能并使用它们。

    1. 为您创建的功能创建一个文件夹 ’ll创建,然后在此处打开命令提示符。
    2. 类型 函数初始化 用Azure功能所需的文件来初始化文件夹:

      SNAGHTML89c0d7c
    3. 要创建函数,请键入 功能 开始这个过程。在V1函数中,您可以’ll need to provide:
      1. 语言
      2. 触发
               
        SNAGHTML875154a
    4. Provide a 名称 for your 功能tion:       
            
      SNAGHTML8763197
      1. 现在,在VS Code中打开function文件夹(您确实了解“code .”命令打开当前目录,对吗?):

        SNAGHTML8637786
        1. <VS Code opens>
          1. If you have the VS Code extension for Azure功能 installed, you’ll see this:

            SNAGHTML8652b31

            这基本上是在问你’d喜欢切换到VS Code的处事方式。现在,我们’请关闭此消息以使用命令行/核心工具的经验。

            1. 现在,您可以根据需要向函数中添加代码。
            2. 现在输入 功能运行<Your 功能tion 名称> 在本地运行功能–第一次这样做,您’将会看到我们需要确定的消息:

              SNAGHTML549c85
            3. 对于这样的HTTP函数,我们应该使用--content标志在POST主体中传递一些内容。为了与生成器添加的默认代码匹配,让’传递了一些JSON,包括‘name’ 在 tribute:

              SNAGHTML5facdb
            4. 您 should now see the 功能tions runtime spin up 和 serve your 功能tion:

              SNAGHTML1d491eb
            5. 由于您的功能是在本地端点上提供的,因此您’在您开发代码时(按照先前的建议),最有可能要使用Postman或类似工具,因为它比--content标志要丰富得多。核心工具的输出将告诉您要命中的URL,但默认情况下为 http://localhost:7071/api/[function 名称]:

              SNAGHTML1dd8740

            出版 CLI和Visual Studio Code的(JavaScript)函数

              在开发了更多代码之后,我们可以使用其他命令直接部署到Azure中的Function App。最有可能你’需要首先登录,这是通过以下命令完成的:

              功能 azure登录--username [用户名] --password [密码]

              如果你不这样做’提供用户名/密码,您’将会以交互方式提示:

              SNAGHTML1e4d89b

              您 may need to explicitly choose the Azure subscription (once you’ve登录),例如,如果该帐户有权访问多个订阅:

              功能 azure帐户集[AzureSubscriptionID]

              在这里,您可以使用以下内容来部署功能:

              功能 azure 功能tionapp发布<FunctionAppName>

              SNAGHTMLcb421e

              很好,但是缺少某些东西– 调试ging!

              除错ging CLI和Visual Studio Code的(JavaScript)函数

              起初我以为不是’可以使用CLI在本地调试功能,但这是 通过与VS Code结合使用。该过程是:

              • 在VS Code中的代码中放置断点
              • 从CLI运行功能并添加--debug标志– so 功能运行<Your 功能tion 名称> –debug
              • Hit F5 (or go to the 除错 tab 和 press Play)
              • 向您的职能提出要求’s local URL e.g. http://localhost:7071/api/[function 名称]:
              • 您r breakpoint will now be hit 和 you can make use of all of VS Code’调试功能:

                     SNAGHTMLd45210
              注意:-在VS Code中调试C#函数并不是那么简单。稍后请参阅我的部分。
              因此,CLI本身并没有用吗?
              此时,您可能想知道为什么如果需要使用Visual Studio Code进行调试,则为什么要使用CLI使用Azure Functions。我也是! VS Code的Azure Functions扩展实际上是为您在CLI上运行命令,并在命令面板中为您提供了一些菜单选项/命令供您使用,从而提供了更好的体验。对我来说,您只关注CLI来运行/发布功能的场景是:
              • 在DevOps场景中,您可以使用一些自动化脚本来运行/测试功能(在本地或通过将其部署到Azure)
              • 您're trying to be ultra-hip
              对于其他所有内容,都有Visual Studio Code或Visual Studio。不同意?我想念什么吗?在评论中让我知道!

              选项2–使用Visual Studio Code

              要求前:

              处理:

              在VS Code中创建函数很容易:

              1. 首先,在计算机上创建一个文件夹来托管文件– I 名称d my folder “COB-JS-Functions” to reflect what we’re doing here.
              2. 打开“ VS Code”到该文件夹​​。
              3. 按下CTRL SHIFT + P进入VS Code命令栏,然后开始输入“Azure Functions”拉起那些命令。选择“Create New Project” command:
                SNAGHTMLfff7b5_thumb2
              4. 按照命令栏中的提示选择文件夹–如果您接受默认值’已经在您之前创建的文件夹中:
                SNAGHTML1568088c_thumb2
              5.     
              6. 在选择语言时,请选择您的偏好– I’我在这里使用JavaScript(您可能想考虑一下我的总体信息,即在成熟的Visual Studio中,C#函数通常更容易实现!):
                SNAGHTML1569e4bf_thumb2
              7. 您r folder will now be scaffolded with the starter files:

                SNAGHTML45dc105
              8. 现在让’s添加单个功能。再次按CTRL SHIFT + P,然后找到“Create Function” command under Azure功能:
                SNAGHTML156d23fb_thumb3
              9. 接受我们’ll使用当前文件夹:
                SNAGHTML462a5c4
              10.   Select the trigger:
                SNAGHTML463eb15
              11. Enter the 名称 for your 功能tion:
                SNAGHTML4654ae3
              12. 然后是身份验证类型:
                SNAGHTML469c32d 
              13. 现在,一堆新文件将添加到您的文件夹中,包括“index.js”您的函数实现的文件:
                SNAGHTML46ae3d0

              现在,您可以编写代码并开始构建功能。最有可能你’我想为JavaScript函数引入一些npm模块,并开始针对Graph,SharePoint或您需要的任何东西工作。我真的很喜欢在VS Code命令面板中进行整个过程的指导,我认为它确实很好。

              除错ging Azure功能 locally in Visual Studio Code

              VS Code可以用作JavaScript函数,PowerShell脚本等的调试器。下一节有一些关于特定于语言的详细信息的注释:

              对于JavaScript函数 

              JavaScript为主“just works”, although you’默认情况下,您需要点击托管您的函数的本地网址(例如,使用Postman或类似工具)。您可以更进一步,并修改launch.json文件,以便F5可以完成所有工作-我必须为‘launch’ as well as ‘attach’。该过程如下所示:

              1. 在代码中添加一个断点。
              2. Once your 发射.json is good, ensure you have a “launch”在调试配置选择器中选择的配置–这样可以确保启动node.js,而不是假设它已启动’s running already 和 you can 连接 to it:
                SNAGHTML17b668d7
              3. 您 should see VS Code spin up the 功能tions host for you by running 功能主机启动:

                SNAGHTML17bc75e9
              4. 您’实际上,您需要点击函数的URL才能开始执行并点击断点。 VS Code通过在终端输出中提供可点击的链接来简化此操作:
                SNAGHTML17bdf98c
              5. 这将打开一个新的浏览器选项卡,命中您的函数端点,并且命中您的断点
              对于PowerShell函数

              看我的“使用Azure函数,PnP和图形在云中运行PowerShell脚本”文章,特别是“使用F5在本地调试我们的PowerShell脚本” section –我将在此处详细显示该过程。简而言之,它运作良好,但是请记住,PowerShell在Function V1中仅具有实验性的语言状态,而在V2中则没有。

              对于C#函数

              好吧,在Visual Studio Code中调试作为.cs文件(不是.csx)的C#函数有些不同。–需要OmniSharp扩展名(//marketplace.visualstudio.com/items?itemName=ms-vscode.csharp),并且其中涉及一些调试V1函数的技巧,因为它们是32位的。看到 //github.com/Microsoft/vscode-azurefunctions/blob/master/docs/func64bit.md. 总的来说,我觉得完整的Visual Studio是C#函数的一种更简单的方法。

              出版 VS Code将文件复制到Azure函数:

              本着重用的精神,本节直接来自我的PowerShell函数文章:)无论您使用什么函数语言,这里的步骤都是相同的。

              您 can publish your 功能tion to Azure in a variety of ways, but VS Code makes this easy:

              1. 切换到VS Code中的Azure选项卡(底部图标):

                SNAGHTMLbf4881_thumb2
              2. 查找您之前创建的Function App。右键单击它,然后选择“部署到功能应用”:
                SNAGHTML1ea4112d_thumb2
              3. 在VS Code命令面板中逐步浏览提示–默认值通常是您需要的:

                SNAGHTMLc1f726_thumb2
              4. 接受提示:

                图片_thumb4

              5. VS Code随后将开始发布操作:

                SNAGHTMLc9b489_thumb2
              6. 您’然后将发现您的文件已作为功能部署到所选的功能应用程序:

                SNAGHTMLe32952_thumb2

              选项3– using Visual Studio

              对于C#函数,Visual Studio是我的首选(至少目前是这样)。

              要求前:

              处理:

              有一个VS项目模板,因此创建新项目很容易:

              1. 使用创建一个新项目> New Project:
                SNAGHTML96f93a2
              2. 从项目的上下文菜单中添加新的功能:
                SNAGHTML5722ec4
                选择触发类型:
                SNAGHTML9712f70

              除错ging a 功能tion in Visual Studio:

              这就像添加一个断点并单击F5一样简单。就C#函数而言,这比其他选项要简单得多。您’将会看到Core Tools函数主机旋转,并且将提供函数的URL– you’尽管您可以配置“Debug”选项卡以启动浏览器或脚本以自动执行此操作(类似于使用Visual Studio Code来编辑launch.json文件的想法):

              SNAGHTML9755aa3

              您r breakpoint will then be hit:

              SNAGHTML97ba6a3

              请记住,如果以调试模式发布的功能也可以调试在Azure中实时运行的功能。如果你’根据开发/测试Office 365租户和Azure订阅进行重新开发可能会非常有帮助(但显然不建议用于生产环境)。使用Cloud Explorer查找您的函数,右键单击并选择“Debug”.

              出版 Visual Studio中的功能

              无论谁’使用VS中的函数可能对此很熟悉,但是随着’d expect it’光滑的体验:

              SNAGHTML9a1600c

              SNAGHTML9a23c14

              俗话说,朋友不’不要让朋友将Azure函数直接发布到生产环境(可能还会发布到其他环境)。使用其他部署方法中的一种,如果合适,也许使用基于连续部署的方法。 

              概要

              那 was quite a 很多 detail. In summary, if you write the majority of your other code with VS Code 和/or are writing 功能tions in JavaScript, then VS Code is probably your best choice –只要确保您安装了 Azure功能 VS Code extension。如果你’主要使用完整的Visual Studio,然后坚持使用该功能进行开发–只要确保您安装了 Azure功能 Visual Studio extension 如果您的VS实例没有’t have it already.

              直接从命令行使用Core Tools最适合CI / CD / DevOps自动化,或者是那些需要特别时髦的人。

              2018年9月18日,星期二

              保持其他功能/ URL预热的Azure功能

              图片只是一个非常快速的帖子,以分享一些可能有用的代码。如果你’在消费计划上重新运行Azure Functions(即按使用量付费),那么您可能知道Function应用程序可以进入睡眠状态,从而导致冷启动问题。如果它’s code you’如果在Web部件,PowerApp或其他面向用户的事物(通常是在HTTP触发器上)后面运行,那么在等待功能应用程序再次旋转时,用户时不时地会获得非常糟糕的性能。 当前,Azure函数的超时时间为20分钟–因此,如果有一段时间您的职能获胜’t run, you’将遭受这个问题。

              正如在 了解无服务器冷启动Azure功能 cold starts in numbers,预热功能需要多长时间取决于很多事情。如果您使用JavaScript函数,可能会比其他语言慢’例如,重新使用大量的npm模块。

              您*可以*根据自己的功能切换到应用服务计划。但是您的费用通常会高得多,因为您’您可以为Azure中的专用VM实例付费,而不必利用无服务器的主要优势之一,因为您可以只为代码执行时间付费。

              因此,为什么不具有另一个在计时器上运行的功能,而该功能只是命中了您在config中指定的一系列URL? 这是拥有一个集中功能的一种好方法,该功能可以帮助在消费计划中的许多功能应用程序中分布许多其他功能。只要这段代码的运行时间超过超时时间,就可以保证其他功能仍然有效,并且性能会很好。当然,您可以通过多种方式执行此操作(在某个地方运行PowerShell脚本,按计划执行Flow等等),但是如果您喜欢其他功能的想法,则可以在下面复制/粘贴我的代码并获得解决方案可在几分钟内实施。

              这里’C#函数的一些代码可以执行此操作。您可能希望在错误处理或其他方面做进一步的工作,但这可以完成核心工作,并且可以节省您快速的编码/测试工作-只需创建一个新的C#函数并将其用作实现即可:

              The code above expects an App Setting 名称d “EndPointUrls”其中的值包含用分号分隔的URL的列表-您的代码将命中以下每个URL:

              SNAGHTMLe0b2fdb

              您 should then see a successful execution every 10 minutes (or whatever schedule you chose):

              SNAGHTMLe01450a

              注意–您也应该能够在消费计划上运行* this *函数,而不会出现任何问题。一世’我们已经看到计时器功能未在其中运行的问题 一些 情况,但在这种情况下都不适用。但是,也许要在其他计时器函数中注意这些:

              • 使用HttpClient或类似方法进行异步HTTP调用但不异步的函数“all the way down”。为了配合使用“await”,则应将Run()方法的签名更改为:
              • 比计划运行时间更长的功能,例如运行1分钟20秒,但每分钟安排一次。当然啦’ll miss executions!
                • 注意–我的第一个日志语句中显示的myTimer.IsPastDue属性可以帮助您了解此执行是否是由于此原因
              • 由于应用重新启动而错过了功能
                • 您 might want to consider what other things exist in the same Function App
              • 看着那(这“useMonitor”频繁运行功能的标志

              另请参阅:

              2018年8月31日,星期五

              Using a custom Azure Function in PowerApps(e.g. to call the Graph)

              在上一篇文章中,我们看了 如何从Flow调出您的自定义代码。在本文中,我想讨论一下PowerApps的类似过程,以便我们可以了解我们自己的代码正在运行的时间-也许是在PowerApp中单击按钮或加载应用程序的屏幕时。本文本质上是最后一篇的配套文章。实际上,我们在创建自定义连接器(PowerApp和Flow都需要调用我们的功能代码)方面做了重要工作。– so if you’重新使用我的帖子作为指导,您’即使您仍然需要参考我的Flow文章’仅与PowerApps一起使用。再次是这些链接:

              在两种情况下’创建一个与您的Azure函数对话的自定义连接器,然后在PowerApps / Flow中正确使用该连接器就可以了。

              总体流程回顾

              本质上是’PowerApps和Flow之间的不同之处在于最后一点–整个过程如下所示:

              SNAGHTMLafc3aa

              一个PowerApp更新用户’s profile

              在上一篇文章中,我使用了可以更新用户的Azure Function /自定义连接器的想法’Flow的Office 365配置文件。我们’这次将使用与PowerApps相同的Azure Function /自定义连接器。由于我们已经定义了连接器,因此它’在PowerApps中开始使用它相当容易。

              我创建了一个使用每个API的相当简单的PowerApp’s 功能tions:

              • 个人资料详细信息–> run when the “Lookup user” button is clicked
              • 更新资料 个人资料详细信息–> run when the “Update user” button is clicked

              在某些方面,这可能是企业中有用的PowerApp,需要做更多的工作。对于很少使用台式机但偶尔需要更新其个人资料的一线员工来说,这可能很有用。无论如何,可以通过调用Azure函数来执行强大功能的PowerApp的整体配方无疑是工具箱中有用的技术。

              对于我的应用程序,我没有’在用户界面上做得太多-在这里’看起来像:

              SNAGHTML8ea620

              在现实生活中’d lose the “Lookup user”按钮,只有用户’加载现有数据 应用加载时 –但就目前而言,使用这两个按钮有助于说明我的两种方法以及如何进行接线。 如果您确实想在不单击按钮的情况下获取数据,则只需将PowerApps公式用作“Lookup user” button’■OnSelect事件并在第一个屏幕中使用它’改为使用OnStart或OnVisible事件。

              添加数据源

              创建连接器并使其可用后,要在PowerApps中使用它,您需要 添加数据源 which points to the connector. 您 can then use your methods in PowerAppsformulas. Creating the data source is done like this:

              SNAGHTML5b972e8

              SNAGHTML5b9d2da

              在现在出现的面板中,找到代表您的API / Azure函数的连接器:

              SNAGHTML5bbf760

              然后应成功添加:

              SNAGHTML5bc6378

              那 ’s it –您现在可以从PowerApps调用Azure函数。

              连线至应用程式控制项

              本质上,你’我会发现,当你’在PowerApps中的某个位置重新键入公式,您的API可用并且在方法上具有一些自动完成/ IntelliSense。因此,就我而言,我可以开始输入‘cob’ 和 then my API’s methods appear:

              SNAGHTML5c00799

              选择方法时,系统提示您输入所需的参数:

              SNAGHTML5c13aaa

              SNAGHTML5c1c140

              在实践中使用

              我们要做的第一件事是将文本输入控件的默认值设置为从获取用户返回的JSON对象的适当值’s data – for example, here’s the display 名称 text box:

              SNAGHTML9d9ffd

              我们所有人’这样做是在PowerApps中使用变量,但是如果您’与编码相比,这有点新奇。您需要了解PowerApps命令,例如Set,UpdateContext,Collect / ClearCollect等。本指南可帮助您- 了解PowerApps中的canvas-app变量

              将我们的文本输入控件设置为显示“fetchedUserData”变量,我们通过调用自定义连接器填充该对象。

              在“Lookup user” button’s OnSelect event (或屏幕上的OnVisible事件)– note that we’重新传递当前用户’照片旁边的标签中的帐户名称。只需从PowerApps的User()函数(特别是User())获得。’m(在这种情况下,假设电子邮件地址与帐户名匹配):

              考虑一下我们在这里要做的是一次调用该函数,然后将返回的整个JSON存储为变量。这与我为文本输入控件分配默认值的方式匹配,即 fetchedUserData.displayName.

              在“Update user” button:

              注意:唐’t make the mistake of calling your 功能tion multiple times, once for each time you reference a value. 那 would look like this:

              根据评论,这种方法意味着您的函数被多次调用,而不是一次。相反,请确保只调用一次函数,然后将返回的JSON存储在变量中。然后,每个表单控件都引用该JSON的子元素。

              概要

              那 ’是的!现在,您可以在PowerApps中使用Azure函数,这可以带来很多可能性。在生产中’我将需要考虑与谁共享自定义连接器/如何使自定义连接器可用(以及其他方法),但是一旦您完成了一般过程,就很简单了’已经完成了定义Open API定义等的艰苦工作。