Mobile Apps-Bindungen für Azure Functions
Hinweis
Azure Mobile Apps-Bindungen sind nur für Azure Functions 1.x verfügbar. In Azure Functions 2.x und höheren Versionen werden sie nicht unterstützt.
Wichtig
Der Support für Version 1.x der Azure Functions-Laufzeit endet am 14. September 2026. Es wird dringend empfohlen, dass Sie Ihre Apps zu Version 4.x migrieren, um vollständigen Support zu erhalten.
Dieser Artikel erläutert das Arbeiten mit Azure Mobile Apps-Bindungen in Azure Functions. Azure Functions unterstützt Eingabe- und Ausgabebindungen für Mobile Apps.
Mithilfe von Mobile Apps-Bindungen können Sie Datentabellen in mobilen Apps lesen und aktualisieren.
Pakete: Functions 1.x
Mobile Apps-Bindungen werden im NuGet-Paket Microsoft.Azure.WebJobs.Extensions.MobileApps, Version 1.x bereitgestellt. Den Quellcode für das Paket finden Sie im GitHub-Repository azure-webjobs-sdk-extensions.
In der folgenden Tabelle wird beschrieben, wie Sie unterstützung für die Ausgabebindung in jeder Entwicklungsumgebung hinzufügen.
Entwicklungsumgebung | So fügen Sie Support in Functions 1.x hinzu |
---|---|
Lokale Entwicklung: C#-Klassenbibliothek | Paket installieren |
Lokale Entwicklung: C#-Skript, JavaScript, F# | Automatisch |
Entwicklung im Portal | Automatisch |
Eingabe
Die Mobile Apps-Eingabebindung lädt einen Datensatz aus einem mobilen Tabellenendpunkt und übergibt ihn an die Funktion. In C#- und F#-Funktionen werden alle Änderungen am Datensatz automatisch an die Tabelle zurückgesendet, wenn die Funktion erfolgreich beendet wird.
Eingabe: Beispiel
Sehen Sie sich das sprachspezifische Beispiel an:
Das folgende Beispiel zeigt eine Mobile Apps-Eingabebindung in einer Datei function.json sowie eine C#-Skriptfunktion, die die Bindung verwendet. Die Funktion wird durch eine Warteschlangennachricht, die eine Datensatz-ID enthält, ausgelöst. Die Funktion liest den angegebenen Datensatz und ändert dessen Text
-Eigenschaft.
Bindungsdaten in der Datei 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"
}
]
}
Weitere Informationen zu diesen Eigenschaften finden Sie im Abschnitt Konfiguration.
Der C#-Skriptcode sieht wie folgt aus:
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Eingabe: Attribute
Verwenden Sie in C#-Klassenbibliotheken das Attribut MobileTable.
Weitere Informationen zu Attributeigenschaften, die Sie konfigurieren können, finden Sie im folgenden Konfigurationsabschnitt.
Eingabe: Konfiguration
Die folgende Tabelle gibt Aufschluss über die Bindungskonfigurationseigenschaften, die Sie in der Datei function.json und im Attribut MobileTable
festlegen:
Eigenschaft von „function.json“ | Attributeigenschaft | BESCHREIBUNG |
---|---|---|
type | – | Muss auf „mobileTable“ festgelegt werden |
direction | – | Muss auf „in“ festgelegt werden |
name | – | Der Name des Eingabeparameters in der Funktionssignatur |
tableName | TableName | Der Name der Datentabelle der mobilen App |
id | Id | Der Bezeichner des abzurufenden Datensatzes. Kann statisch sein oder auf dem Trigger, der die Funktion aufruft, basieren. Wenn Sie beispielsweise einen Warteschlangentrigger für Ihre Funktion verwenden, nutzt "id": "{queueTrigger}" den Zeichenfolgenwert der Warteschlangennachricht als abzurufende Datensatz-ID. |
connection | Connection | Der Name einer App-Einstellung mit der URL der mobilen App. Die Funktion konstruiert anhand dieser URL die erforderlichen REST-Vorgänge für Ihre mobile App. Erstellen Sie eine App-Einstellung in Ihrer Funktions-App, die die URL Ihrer mobilen App enthält. Anschließend geben Sie den Namen der App-Einstellung in der connection -Eigenschaft Ihrer Eingabebindung an. Die URL sieht wie folgt aus: https://<appname>.azurewebsites.net . |
apiKey | ApiKey | Der Name einer App-Einstellung mit dem API-Schlüssel Ihrer mobilen App. Sie müssen den API-Schlüssel angeben, wenn Sie einen API-Schlüssel in Ihrer mobilen Node.js-App oder einen API-Schlüssel in Ihrer mobilen .NET-App implementieren möchten. Für die Angabe des Schlüssels erstellen Sie eine App-Einstellung in Ihrer Funktions-App, die den API-Schlüssel enthält, und fügen dann die apiKey -Eigenschaft in der Eingabebindung mit dem Namen der App-Einstellung hinzu. |
Wenn Sie die Entwicklung lokal ausführen, fügen Sie Ihre Anwendungseinstellungen in der Datei local.settings.json in der Values
-Sammlung hinzu.
Wichtig
Geben Sie den API-Schlüssel nicht für Clients Ihrer mobilen App frei. Er sollte nur sicher an dienstseitige Clients wie Azure Functions verteilt werden. Azure Functions speichert die Verbindungsinformationen und API-Schlüssel als App-Einstellungen, sodass sie nicht ins Repository der Quellcodeverwaltung eingecheckt werden. Dadurch werden vertrauliche Daten geschützt.
Eingabe: Verwendung
Wenn in C#-Funktionen der Datensatz mit der angegebenen ID gefunden wird, wird er an den benannten JObject-Parameter übergeben. Wenn der Datensatz nicht gefunden wird, hat der Parameter den Wert null
.
In JavaScript-Funktionen wird der Datensatz an das context.bindings.<name>
-Objekt übergeben. Wenn der Datensatz nicht gefunden wird, hat der Parameter den Wert null
.
In C#- und F#-Funktionen werden alle Änderungen am Eingabedatensatz (Eingabeparameter) automatisch wieder an die Tabelle zurückgesendet, wenn die Funktion erfolgreich beendet wird. Sie können einen Datensatz nicht in JavaScript-Funktionen ändern.
Ausgabe
Schreiben Sie unter Verwendung der Mobile Apps-Ausgabebindung einen neuen Datensatz in eine Mobile Apps-Tabelle.
Ausgabe: Beispiel
Das folgende Beispiel zeigt eine C#-Funktion, die durch eine Warteschlangennachricht ausgelöst wird und einen Datensatz in einer Mobile Apps-Tabelle erstellt.
[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}" };
}
Ausgabe: Attribute
Verwenden Sie in C#-Klassenbibliotheken das Attribut MobileTable.
Weitere Informationen zu Attributeigenschaften, die Sie konfigurieren können, finden Sie unter Ausgabe: Konfiguration. Hier ist ein Beispiel für ein MobileTable
-Attribut in einer Methodensignatur:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Ausgabe: Konfiguration
Die folgende Tabelle gibt Aufschluss über die Bindungskonfigurationseigenschaften, die Sie in der Datei function.json und im Attribut MobileTable
festlegen:
Eigenschaft von „function.json“ | Attributeigenschaft | BESCHREIBUNG |
---|---|---|
type | – | Muss auf „mobileTable“ festgelegt werden |
direction | – | Muss auf „out“ festgelegt werden |
name | – | Der Name des Ausgabeparameters in der Funktionssignatur |
tableName | TableName | Der Name der Datentabelle der mobilen App |
connection | MobileAppUriSetting | Der Name einer App-Einstellung mit der URL der mobilen App. Die Funktion konstruiert anhand dieser URL die erforderlichen REST-Vorgänge für Ihre mobile App. Erstellen Sie eine App-Einstellung in Ihrer Funktions-App, die die URL Ihrer mobilen App enthält. Anschließend geben Sie den Namen der App-Einstellung in der connection -Eigenschaft Ihrer Eingabebindung an. Die URL sieht wie folgt aus: https://<appname>.azurewebsites.net . |
apiKey | ApiKeySetting | Der Name einer App-Einstellung mit dem API-Schlüssel Ihrer mobilen App. Sie müssen den API-Schlüssel angeben, wenn Sie in Ihrem Node.js-Mobile App-Back-End oder in Ihrem .NET-Mobile App-Back-End einen API-Schlüssel implementieren möchten. Für die Angabe des Schlüssels erstellen Sie eine App-Einstellung in Ihrer Funktions-App, die den API-Schlüssel enthält, und fügen dann die apiKey -Eigenschaft in der Eingabebindung mit dem Namen der App-Einstellung hinzu. |
Wenn Sie die Entwicklung lokal ausführen, fügen Sie Ihre Anwendungseinstellungen in der Datei local.settings.json in der Values
-Sammlung hinzu.
Wichtig
Geben Sie den API-Schlüssel nicht für Clients Ihrer mobilen App frei. Er sollte nur sicher an dienstseitige Clients wie Azure Functions verteilt werden. Azure Functions speichert die Verbindungsinformationen und API-Schlüssel als App-Einstellungen, sodass sie nicht ins Repository der Quellcodeverwaltung eingecheckt werden. Dadurch werden vertrauliche Daten geschützt.
Ausgabe: Verwendung
Verwenden Sie in C#-Skriptfunktionen einen benannten Ausgabeparameter vom Typ out object
, um auf den Ausgabedatensatz zuzugreifen. In C#-Klassenbibliotheken kann das MobileTable
-Attribut mit den folgenden Typen verwendet werden:
ICollector<T>
oderIAsyncCollector<T>
, wobeiT
entwederJObject
oder ein Typ mit einerpublic string Id
-Eigenschaft ist.out JObject
out T
oderout T[]
, wobeiT
ein beliebiger Typ mit einerpublic string Id
-Eigenschaft ist.
Verwenden Sie in Node.js-Funktionen context.bindings.<name>
für den Zugriff auf den Ausgabedatensatz.