Freigeben über


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> oder IAsyncCollector<T>, wobei T entweder JObject oder ein Typ mit einer public string Id-Eigenschaft ist.
  • out JObject
  • out T oder out T[], wobei T ein beliebiger Typ mit einer public string Id-Eigenschaft ist.

Verwenden Sie in Node.js-Funktionen context.bindings.<name> für den Zugriff auf den Ausgabedatensatz.

Nächste Schritte