Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Powiązania usługi Azure Mobile Apps są dostępne tylko dla usługi Azure Functions 1.x. Nie są one obsługiwane w usłudze Azure Functions w wersji 2.x i nowszej.
Ważne
Pomoc techniczna zakończy się w wersji 1.x środowiska uruchomieniowego usługi Azure Functions 14 września 2026 r. Zdecydowanie zalecamy przeprowadzenie migracji aplikacji do wersji 4.x w celu uzyskania pełnej pomocy technicznej.
W tym artykule wyjaśniono, jak pracować z powiązaniami usługi Azure Mobile Apps w usłudze Azure Functions. Usługa Azure Functions obsługuje powiązania wejściowe i wyjściowe dla usługi Mobile Apps.
Powiązania usługi Mobile Apps umożliwiają odczytywanie i aktualizowanie tabel danych w aplikacjach mobilnych.
Pakiety — Functions 1.x
Powiązania usługi Mobile Apps są dostępne w pakiecie NuGet Microsoft.Azure.WebJobs.Extensions.MobileApps w wersji 1.x. Kod źródłowy pakietu znajduje się w repozytorium GitHub azure-webjobs-sdk-extensions .
W poniższej tabeli przedstawiono sposób dodawania obsługi powiązań wyjściowych w każdym środowisku projektowym.
| Środowisko projektowe | Aby dodać obsługę w usłudze Functions 1.x |
|---|---|
| Programowanie lokalne: biblioteka klas języka C# | Instalowanie pakietu |
| Programowanie lokalne: skrypt języka C#, JavaScript, F# | Automatyczne |
| Programowanie w portalu | Automatyczne |
Dane wejściowe
Powiązanie wejściowe usługi Mobile Apps ładuje rekord z punktu końcowego tabeli mobilnej i przekazuje go do funkcji. W funkcjach C# i F# wszelkie zmiany wprowadzone w rekordzie są automatycznie wysyłane z powrotem do tabeli po pomyślnym zakończeniu działania funkcji.
Dane wejściowe — przykład
Zobacz przykład specyficzny dla języka:
W poniższym przykładzie pokazano powiązanie wejściowe usługi Mobile Apps w pliku function.json i funkcję skryptu języka C#, która używa powiązania. Funkcja jest wyzwalana przez komunikat kolejki, który ma identyfikator rekordu. Funkcja odczytuje określony rekord i modyfikuje jego Text właściwość.
Oto dane powiązania w pliku 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"
}
]
}
W sekcji konfiguracji opisano te właściwości.
Oto kod skryptu języka C#:
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Dane wejściowe — atrybuty
W bibliotekach klas języka C# użyj atrybutu MobileTable .
Aby uzyskać informacje o właściwościach atrybutów, które można skonfigurować, zobacz następującą sekcję konfiguracji.
Dane wejściowe — konfiguracja
W poniższej tabeli opisano właściwości konfiguracji powiązania ustawione w pliku function.json i atrybutu MobileTable .
| właściwość function.json | Właściwość atrybutu | opis |
|---|---|---|
| type | nie dotyczy | Musi być ustawiona wartość "mobileTable" |
| direction | nie dotyczy | Musi być ustawiona wartość "in" |
| name | nie dotyczy | Nazwa parametru wejściowego w podpisie funkcji. |
| tableName | TableName | Nazwa tabeli danych aplikacji mobilnej |
| id | Id | Identyfikator rekordu do pobrania. Może być statyczny lub oparty na wyzwalaczu, który wywołuje funkcję. Jeśli na przykład używasz wyzwalacza kolejki dla funkcji, do "id": "{queueTrigger}" pobrania użyjesz wartości ciągu komunikatu kolejki jako identyfikatora rekordu. |
| połączenie | Połączenie | Nazwa ustawienia aplikacji, które ma adres URL aplikacji mobilnej. Funkcja używa tego adresu URL do konstruowania wymaganych operacji REST względem aplikacji mobilnej. Utwórz ustawienie aplikacji w aplikacji funkcji zawierającej adres URL aplikacji mobilnej, a następnie określ nazwę ustawienia aplikacji we właściwości w powiązaniu connection wejściowym. Adres URL wygląda następująco: https://<appname>.azurewebsites.net. |
| apiKey | ApiKey | Nazwa ustawienia aplikacji, które ma klucz interfejsu API aplikacji mobilnej. Podaj klucz interfejsu API, jeśli zaimplementujesz klucz interfejsu API w aplikacji mobilnej Node.js lub zaimplementujesz klucz interfejsu API w aplikacji mobilnej platformy .NET. Aby podać klucz, utwórz ustawienie aplikacji w aplikacji funkcji zawierającej klucz interfejsu API, a następnie dodaj apiKey właściwość w powiązaniu wejściowym z nazwą ustawienia aplikacji. |
Podczas tworzenia aplikacji lokalnie dodaj ustawienia aplikacji w pliku local.settings.json w kolekcji Values .
Ważne
Nie udostępniaj klucza interfejsu API klientom aplikacji mobilnej. Powinny być bezpiecznie dystrybuowane tylko do klientów po stronie usługi, takich jak Usługa Azure Functions. Usługa Azure Functions przechowuje informacje o połączeniu i klucze interfejsu API jako ustawienia aplikacji, aby nie były zaewidencjonowane w repozytorium kontroli źródła. Chroni to poufne informacje.
Dane wejściowe — użycie
W funkcjach języka C#, gdy rekord o określonym identyfikatorze zostanie znaleziony, zostanie przekazany do nazwanego parametru JObject . Gdy rekord nie zostanie znaleziony, wartość parametru to null.
W funkcjach języka JavaScript rekord jest przekazywany do context.bindings.<name> obiektu. Gdy rekord nie zostanie znaleziony, wartość parametru to null.
W funkcjach C# i F# wszelkie zmiany wprowadzone w rekordzie wejściowym (parametr wejściowy) są automatycznie wysyłane z powrotem do tabeli po pomyślnym zakończeniu działania funkcji. Nie można modyfikować rekordu w funkcjach języka JavaScript.
Wyjście
Użyj powiązania wyjściowego usługi Mobile Apps, aby zapisać nowy rekord w tabeli usługi Mobile Apps.
Dane wyjściowe — przykład
W poniższym przykładzie pokazano funkcję języka C#, która jest wyzwalana przez komunikat w kolejce i tworzy rekord w tabeli aplikacji mobilnej.
[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}" };
}
Dane wyjściowe — atrybuty
W bibliotekach klas języka C# użyj atrybutu MobileTable .
Aby uzyskać informacje o właściwościach atrybutów, które można skonfigurować, zobacz Dane wyjściowe — konfiguracja. Oto przykład atrybutu MobileTable w podpisie metody:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Dane wyjściowe — konfiguracja
W poniższej tabeli opisano właściwości konfiguracji powiązania ustawione w pliku function.json i atrybutu MobileTable .
| właściwość function.json | Właściwość atrybutu | opis |
|---|---|---|
| type | nie dotyczy | Musi być ustawiona wartość "mobileTable" |
| direction | nie dotyczy | Musi być ustawiona wartość "out" |
| name | nie dotyczy | Nazwa parametru wyjściowego w podpisie funkcji. |
| tableName | TableName | Nazwa tabeli danych aplikacji mobilnej |
| połączenie | MobileAppUriSetting | Nazwa ustawienia aplikacji, które ma adres URL aplikacji mobilnej. Funkcja używa tego adresu URL do konstruowania wymaganych operacji REST względem aplikacji mobilnej. Utwórz ustawienie aplikacji w aplikacji funkcji zawierającej adres URL aplikacji mobilnej, a następnie określ nazwę ustawienia aplikacji we właściwości w powiązaniu connection wejściowym. Adres URL wygląda następująco: https://<appname>.azurewebsites.net. |
| apiKey | ApiKeySetting | Nazwa ustawienia aplikacji, które ma klucz interfejsu API aplikacji mobilnej. Podaj klucz interfejsu API, jeśli zaimplementujesz klucz interfejsu API w zapleczu aplikacji mobilnej Node.js lub zaimplementuj klucz interfejsu API w zapleczu aplikacji mobilnej platformy .NET. Aby podać klucz, utwórz ustawienie aplikacji w aplikacji funkcji zawierającej klucz interfejsu API, a następnie dodaj apiKey właściwość w powiązaniu wejściowym z nazwą ustawienia aplikacji. |
Podczas tworzenia aplikacji lokalnie dodaj ustawienia aplikacji w pliku local.settings.json w kolekcji Values .
Ważne
Nie udostępniaj klucza interfejsu API klientom aplikacji mobilnej. Powinny być bezpiecznie dystrybuowane tylko do klientów po stronie usługi, takich jak Usługa Azure Functions. Usługa Azure Functions przechowuje informacje o połączeniu i klucze interfejsu API jako ustawienia aplikacji, aby nie były zaewidencjonowane w repozytorium kontroli źródła. Chroni to poufne informacje.
Dane wyjściowe — użycie
W funkcjach skryptów języka C# użyj nazwanego parametru wyjściowego typu out object , aby uzyskać dostęp do rekordu wyjściowego. W bibliotekach MobileTable klas języka C# atrybut może być używany z dowolnym z następujących typów:
ICollector<T>lubIAsyncCollector<T>, gdzieTjest alboJObjectdowolnym typem z właściwościąpublic string Id.out JObjectout Tlubout T[], gdzieTjest dowolnym typem z właściwościąpublic string Id.
W funkcjach Node.js użyj polecenia context.bindings.<name> , aby uzyskać dostęp do rekordu wyjściowego.