2016-12-29 22 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

相關問題