Mobile Apps-bindningar för Azure Functions
Kommentar
Azure Mobile Apps-bindningar är endast tillgängliga för Azure Functions 1.x. De stöds inte i Azure Functions 2.x och senare.
Viktigt!
Supporten upphör för version 1.x av Azure Functions-körningen den 14 september 2026. Vi rekommenderar starkt att du migrerar dina appar till version 4.x för fullständig support.
Den här artikeln beskriver hur du arbetar med Azure Mobile Apps-bindningar i Azure Functions. Azure Functions stöder indata- och utdatabindningar för Mobile Apps.
Med Mobile Apps-bindningar kan du läsa och uppdatera datatabeller i mobilappar.
Paket – Functions 1.x
Mobile Apps-bindningar tillhandahålls i NuGet-paketet Microsoft.Azure.WebJobs.Extensions.MobileApps , version 1.x. Källkoden för paketet finns på GitHub-lagringsplatsen azure-webjobs-sdk-extensions .
I följande tabell visas hur du lägger till stöd för utdatabindning i varje utvecklingsmiljö.
Utvecklingsmiljö | Lägga till stöd i Functions 1.x |
---|---|
Lokal utveckling: C#-klassbibliotek | Installera paketet |
Lokal utveckling: C#-skript, JavaScript, F# | Automatisk |
Portalutveckling | Automatisk |
Indata
Mobile Apps-indatabindningen läser in en post från en mobil tabellslutpunkt och skickar den till din funktion. I funktionerna C# och F# skickas alla ändringar som görs i posten automatiskt tillbaka till tabellen när funktionen avslutas.
Input – exempel
Se det språkspecifika exemplet:
I följande exempel visas en Mobile Apps-indatabindning i en function.json-fil och en C#-skriptfunktion som använder bindningen. Funktionen utlöses av ett kömeddelande som har en postidentifierare. Funktionen läser den angivna posten och ändrar dess Text
egenskap.
Här är bindningsdata i filen function.json :
{
"bindings": [
{
"name": "myQueueItem",
"queueName": "myqueue-items",
"connection": "",
"type": "queueTrigger",
"direction": "in"
},
{
"name": "record",
"type": "mobileTable",
"tableName": "MyTable",
"id": "{queueTrigger}",
"connection": "My_MobileApp_Url",
"apiKey": "My_MobileApp_Key",
"direction": "in"
}
]
}
I konfigurationsavsnittet förklaras dessa egenskaper.
Här är C#-skriptkoden:
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Indata – attribut
I C#-klassbibliotek använder du attributet MobileTable .
Information om attributegenskaper som du kan konfigurera finns i följande konfigurationsavsnitt.
Indata – konfiguration
I följande tabell förklaras de bindningskonfigurationsegenskaper som du anger i function.json-filen och MobileTable
attributet.
function.json egenskap | Attributegenskap | beskrivning |
---|---|---|
typ | saknas | Måste vara inställt på "mobileTable" |
riktning | saknas | Måste anges till "in" |
Namn | saknas | Namnet på indataparametern i funktionssignaturen. |
tableName | TableName | Namnet på mobilappens datatabell |
id | ID | Identifieraren för posten som ska hämtas. Kan vara statisk eller baseras på utlösaren som anropar funktionen. Om du till exempel använder en köutlösare för din funktion använder du "id": "{queueTrigger}" strängvärdet för kömeddelandet som post-ID för att hämta. |
samband | Anslutning | Namnet på en appinställning som har mobilappens URL. Funktionen använder den här URL:en för att konstruera nödvändiga REST-åtgärder mot din mobilapp. Skapa en appinställning i funktionsappen som innehåller mobilappens URL och ange sedan namnet på appinställningen connection i egenskapen i indatabindningen. URL:en ser ut som https://<appname>.azurewebsites.net . |
apiKey | ApiKey | Namnet på en appinställning som har din mobilapps API-nyckel. Ange API-nyckeln om du implementerar en API-nyckel i din Node.js mobilapp eller implementerar en API-nyckel i din .NET-mobilapp. Om du vill ange nyckeln skapar du en appinställning i funktionsappen som innehåller API-nyckeln och lägger sedan till apiKey egenskapen i indatabindningen med namnet på appinställningen. |
När du utvecklar lokalt lägger du till dina programinställningar i den local.settings.json filen i Values
samlingen.
Viktigt!
Dela inte API-nyckeln med dina mobilappklienter. Den bör endast distribueras på ett säkert sätt till klienter på tjänstsidan, till exempel Azure Functions. Azure Functions lagrar din anslutningsinformation och API-nycklar som appinställningar så att de inte checkas in på källkontrolllagringsplatsen. Detta skyddar din känsliga information.
Indata – användning
När posten med det angivna ID:t hittas i C#-funktioner skickas den till den namngivna JObject-parametern . När posten inte hittas är null
parametervärdet .
I JavaScript-funktioner skickas posten till objektet context.bindings.<name>
. När posten inte hittas är null
parametervärdet .
I funktionerna C# och F# skickas alla ändringar du gör i indataposten (indataparametern) automatiskt tillbaka till tabellen när funktionen avslutas. Du kan inte ändra en post i JavaScript-funktioner.
Output
Använd mobile apps-utdatabindningen för att skriva en ny post till en Mobile Apps-tabell.
Utdata – exempel
I följande exempel visas en C#-funktion som utlöses av ett kömeddelande och skapar en post i en mobilapptabell.
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
return new { Text = $"I'm running in a C# function! {myQueueItem}" };
}
Utdata – attribut
I C#-klassbibliotek använder du attributet MobileTable .
Information om attributegenskaper som du kan konfigurera finns i Utdata – konfiguration. Här är ett MobileTable
attributexempel i en metodsignatur:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Utdata – konfiguration
I följande tabell förklaras de bindningskonfigurationsegenskaper som du anger i function.json-filen och MobileTable
attributet.
function.json egenskap | Attributegenskap | beskrivning |
---|---|---|
typ | saknas | Måste vara inställt på "mobileTable" |
riktning | saknas | Måste anges till "out" |
Namn | saknas | Namnet på utdataparametern i funktionssignaturen. |
tableName | TableName | Namnet på mobilappens datatabell |
samband | MobileAppUriSetting | Namnet på en appinställning som har mobilappens URL. Funktionen använder den här URL:en för att konstruera nödvändiga REST-åtgärder mot din mobilapp. Skapa en appinställning i funktionsappen som innehåller mobilappens URL och ange sedan namnet på appinställningen connection i egenskapen i indatabindningen. URL:en ser ut som https://<appname>.azurewebsites.net . |
apiKey | ApiKeySetting | Namnet på en appinställning som har din mobilapps API-nyckel. Ange API-nyckeln om du implementerar en API-nyckel i din Node.js mobilappsserverdel eller implementerar en API-nyckel i .NET-mobilappens serverdel. Om du vill ange nyckeln skapar du en appinställning i funktionsappen som innehåller API-nyckeln och lägger sedan till apiKey egenskapen i indatabindningen med namnet på appinställningen. |
När du utvecklar lokalt lägger du till dina programinställningar i den local.settings.json filen i Values
samlingen.
Viktigt!
Dela inte API-nyckeln med dina mobilappklienter. Den bör endast distribueras på ett säkert sätt till klienter på tjänstsidan, till exempel Azure Functions. Azure Functions lagrar din anslutningsinformation och API-nycklar som appinställningar så att de inte checkas in på källkontrolllagringsplatsen. Detta skyddar din känsliga information.
Utdata – användning
I C#-skriptfunktioner använder du en namngiven utdataparameter av typen out object
för att komma åt utdataposten. I C#-klassbibliotek MobileTable
kan attributet användas med någon av följande typer:
ICollector<T>
ellerIAsyncCollector<T>
, därT
är antingenJObject
eller någon typ med enpublic string Id
egenskap.out JObject
out T
ellerout T[]
, därT
är någon typ med enpublic string Id
egenskap.
I Node.js funktioner använder du context.bindings.<name>
för att komma åt utdataposten.