Powiązania usługi Mobile Apps dla usługi Azure Functions
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>
, gdzieT
jest alboJObject
dowolnym typem z właściwościąpublic string Id
.out JObject
out T
lubout T[]
, gdzieT
jest 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.