2016-12-29 95 views
0

我试图找出如何设置的输入绑定到Azure的功能,使其能够读取所有的数据在Azure的移动应用简易桌台。我一直在寻找几个小时,阅读我能找到的每一个文档。Azure的功能读取Azure的移动应用简单的表格数据

Azure函数绑定文档https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings表明我可以为移动应用程序设置绑定 - 文档说这是用于访问表的,我希望这意味着易于使用表格,因为我认为这是唯一可用的表格在移动应用程序中(或者我误解了?)。在函数编辑器的“集成”部分设置绑定时,甚至还有一个辅助选项。但是,在设置绑定时,需要记录标识字段,但我不想指定记录标识,我希望函数能够读取表中的所有数据。我该怎么做呢?

最后,我希望能够做的是触发功能,只要表中的数据被更新(添加,更新,删除)。当函数执行时,我想要读取所有的数据并用它做一些事情。我无法找到涵盖此功能的触发器选项,因此我认为我必须将其设置为预定功能 - 有没有更好的方法?

这里的绑定:

{ 
    "type": "mobileTable", 
    "name": "inputRecord", 
    "tableName": "Alerts", 
    "id": "{itemId}", 
    "connection": "APP_URL", 
    "direction": "in" 
} 

它在id属性是不是需要我的情况,但所需要的结合。我为了使其工作而放在那里?

回答

1

没有内置在触发类型,便于表呢。但是,您可以使用Mobile Apps Easy Tables最近添加的webhooks feature来实现此场景。制作HTTP触发功能并配置webhook以调用该功能。如果您需要使用简单表格中的数据更新状态,则可以使用output binding来完成此操作。

如果你需要从函数的数据更丰富的互动,那么你会想看看引用移动应用客户端SDK NuGet包,并使用MobileServiceClient读取数据。这里有一个例子:

project.json:

{ 
    "frameworks": { 
    "net46":{ 
     "dependencies": { 
     "Microsoft.Azure.Mobile.Client": "3.0.3" 
     } 
    } 
    } 
} 

run.csx:

using System.Net; 
using Microsoft.WindowsAzure.MobileServices; 

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) 
{ 
    MobileServiceClient client = new MobileServiceClient("https://mymobileappssite.azurewebsites.net"); 
    var results = await client.GetTable("todoitem").ReadAsync(""); 
    log.Info($"Got {results.Count()} record(s).");; 

    return req.CreateResponse(HttpStatusCode.OK, "Hi");  
} 
+0

保罗,谢谢。采取不同的策略,如何从功能中读取Easy Table表格内容?假设我想将它从一个触发的函数迁移到一个预定的函数中,我需要做些什么来配置函数,以便它可以从表中提取记录(所有这些记录)? – johnwargo

+0

我更新了我的答案使用MobileServiceClient –

+0

感谢演示。你有一个JavaScript(节点)的例子吗? – johnwargo

相关问题