Mobile Apps-kötések az Azure Functionshez
Feljegyzés
Az Azure Mobile Apps-kötések csak az Azure Functions 1.x-hez érhetők el. Az Azure Functions 2.x és újabb verziói nem támogatják őket.
Fontos
Az Azure Functions-futtatókörnyezet 1.x verziójának támogatása 2026. szeptember 14-én megszűnik. Javasoljuk, hogy a teljes támogatás érdekében migrálja az alkalmazásokat a 4.x-es verzióra.
Ez a cikk bemutatja, hogyan használható az Azure Mobile Apps-kötések az Azure Functionsben. Az Azure Functions támogatja a Mobile Apps bemeneti és kimeneti kötéseit.
A Mobile Apps-kötések lehetővé teszik az adattáblák olvasását és frissítését a mobilalkalmazásokban.
Csomagok – Functions 1.x
A Mobile Apps-kötések a Microsoft.Azure.WebJobs.Extensions.MobileApps NuGet csomag 1.x-es verziójában érhetők el. A csomag forráskódja az azure-webjobs-sdk-extensions GitHub-adattárban található.
Az alábbi táblázat bemutatja, hogyan adhat támogatást ehhez a kötéshez az egyes fejlesztési környezetekben.
Fejlesztői környezet | Támogatás hozzáadása a következőben: Functions 1.x |
---|---|
Helyi fejlesztés – C#-osztálytár | A csomag telepítése |
Helyi fejlesztés – C# szkript, JavaScript, F# | Automatikus |
Portál fejlesztése | Automatikus |
Bevitel
A Mobile Apps bemeneti kötés betölt egy rekordot egy mobiltábla-végpontról, és átadja azt a függvénynek. A C# és az F# függvényben a rekordon végrehajtott módosítások automatikusan vissza lesznek küldve a táblába, amikor a függvény sikeresen kilép.
Bemenet – példa
Lásd a nyelvspecifikus példát:
Az alábbi példa egy Mobile Apps bemeneti kötést mutat be egy function.json fájlban és egy C# szkriptfüggvényben , amely a kötést használja. A függvényt egy rekordazonosítóval rendelkező üzenetsor aktiválja. A függvény beolvassa a megadott rekordot, és módosítja annak tulajdonságát Text
.
A kötési adatok a function.json fájlban:
{
"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"
}
]
}
A konfigurációs szakasz ezeket a tulajdonságokat ismerteti.
A C# szkriptkódja a következő:
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Bemenet – attribútumok
A C#-osztálytárakban használja a MobileTable attribútumot.
A konfigurálható attribútumtulajdonságokról az alábbi konfigurációs szakaszban olvashat bővebben.
Bemenet – konfiguráció
Az alábbi táblázat a function.json fájlban és az MobileTable
attribútumban beállított kötéskonfigurációs tulajdonságokat ismerteti.
function.json tulajdonság | Attribútumtulajdonság | Leírás |
---|---|---|
type | n.a. | A "mobileTable" értéket kell beállítani |
direction | n.a. | "in" értékre kell állítani |
név | n.a. | A bemeneti paraméter neve a függvény-aláírásban. |
tableName | TableName | A mobilalkalmazás adattáblájának neve |
id | Azonosító | A lekérendő rekord azonosítója. Lehet statikus vagy a függvényt meghívó eseményindító alapján. Ha például egy üzenetsor-eseményindítót használ a függvényhez, akkor "id": "{queueTrigger}" az üzenetsor-üzenet sztringértékét használja rekordazonosítóként a lekéréshez. |
Kapcsolat | Kapcsolat | A mobilalkalmazás URL-címével rendelkező alkalmazásbeállítás neve. A függvény ezzel az URL-címmel hozza létre a szükséges REST-műveleteket a mobilalkalmazáson. Hozzon létre egy alkalmazásbeállítást a függvényalkalmazásban, amely tartalmazza a mobilalkalmazás URL-címét, majd adja meg az alkalmazásbeállítás nevét a connection bemeneti kötés tulajdonságában. Az URL-cím így néz https://<appname>.azurewebsites.net ki. |
apiKey | ApiKey | A mobilalkalmazás API-kulcsával rendelkező alkalmazásbeállítás neve. Adja meg az API-kulcsot, ha egy API-kulcsot implementál a Node.js mobilalkalmazásban, vagy implementál egy API-kulcsot a .NET-mobilalkalmazásban. A kulcs megadásához hozzon létre egy alkalmazásbeállítást a függvényalkalmazásban, amely tartalmazza az API-kulcsot, majd adja hozzá a tulajdonságot a apiKey bemeneti kötésben az alkalmazásbeállítás nevével. |
Helyi fejlesztéskor adja hozzá az alkalmazásbeállításokat a gyűjtemény local.settings.json fájljáhozValues
.
Fontos
Ne ossza meg az API-kulcsot a mobilalkalmazás-ügyfelekkel. Csak olyan szolgáltatásoldali ügyfeleknek szabad biztonságosan elosztani, mint az Azure Functions. Az Azure Functions alkalmazásbeállításokként tárolja a kapcsolati adatokat és az API-kulcsokat, hogy azok ne legyenek bejelentkezve a forrásvezérlő adattárába. Ez védi a bizalmas adatokat.
Bemenet – használat
A C# függvényekben a megadott azonosítóval rendelkező rekordot a rendszer átadja a névvel ellátott JObject paraméternek . Ha a rekord nem található, a paraméter értéke .null
A JavaScript-függvényekben a rekord át lesz adva az context.bindings.<name>
objektumba. Ha a rekord nem található, a paraméter értéke .null
A C# és az F# függvényekben a bemeneti rekord (bemeneti paraméter) módosításai automatikusan vissza lesznek küldve a táblába, amikor a függvény sikeresen kilép. A JavaScript-függvényekben nem módosíthatja a rekordokat.
Hozam
A Mobile Apps kimeneti kötésével új rekordot írhat egy Mobile Apps-táblába.
Kimenet – példa
Az alábbi példa egy üzenetsor-üzenet által aktivált C# függvényt mutat be, és létrehoz egy rekordot egy mobilalkalmazás-táblában.
[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}" };
}
Kimenet – attribútumok
A C#-osztálytárakban használja a MobileTable attribútumot.
A konfigurálható attribútumtulajdonságokról további információt a Kimenet – konfiguráció című témakörben talál. Íme egy MobileTable
attribútum- példa egy metódus-aláírásban:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Kimenet – konfiguráció
Az alábbi táblázat a function.json fájlban és az MobileTable
attribútumban beállított kötéskonfigurációs tulajdonságokat ismerteti.
function.json tulajdonság | Attribútumtulajdonság | Leírás |
---|---|---|
type | n.a. | A "mobileTable" értéket kell beállítani |
direction | n.a. | "Out" értékre kell állítani |
név | n.a. | A kimeneti paraméter neve a függvény-aláírásban. |
tableName | TableName | A mobilalkalmazás adattáblájának neve |
Kapcsolat | MobileAppUriSetting | A mobilalkalmazás URL-címével rendelkező alkalmazásbeállítás neve. A függvény ezzel az URL-címmel hozza létre a szükséges REST-műveleteket a mobilalkalmazáson. Hozzon létre egy alkalmazásbeállítást a függvényalkalmazásban, amely tartalmazza a mobilalkalmazás URL-címét, majd adja meg az alkalmazásbeállítás nevét a connection bemeneti kötés tulajdonságában. Az URL-cím így néz https://<appname>.azurewebsites.net ki. |
apiKey | ApiKeySetting | A mobilalkalmazás API-kulcsával rendelkező alkalmazásbeállítás neve. Adja meg az API-kulcsot, ha a Node.js mobilalkalmazás háttérrendszerében implementál egy API-kulcsot, vagy implementál egy API-kulcsot a .NET mobilalkalmazás háttérrendszerében. A kulcs megadásához hozzon létre egy alkalmazásbeállítást a függvényalkalmazásban, amely tartalmazza az API-kulcsot, majd adja hozzá a tulajdonságot a apiKey bemeneti kötésben az alkalmazásbeállítás nevével. |
Helyi fejlesztéskor adja hozzá az alkalmazásbeállításokat a gyűjtemény local.settings.json fájljáhozValues
.
Fontos
Ne ossza meg az API-kulcsot a mobilalkalmazás-ügyfelekkel. Csak olyan szolgáltatásoldali ügyfeleknek szabad biztonságosan elosztani, mint az Azure Functions. Az Azure Functions alkalmazásbeállításokként tárolja a kapcsolati adatokat és az API-kulcsokat, hogy azok ne legyenek bejelentkezve a forrásvezérlő adattárába. Ez védi a bizalmas adatokat.
Kimenet – használat
A C#-szkriptfüggvényekben a kimeneti rekord eléréséhez használjon egy elnevezett kimeneti paramétert out object
. A C#-osztálykódtárakban az attribútum az MobileTable
alábbi típusok bármelyikével használható:
ICollector<T>
vagyIAsyncCollector<T>
, aholT
vagyJObject
bármilyen típusú tulajdonsággal rendelkezikpublic string Id
.out JObject
out T
vagyout T[]
holT
található bármilyen tulajdonsággalpublic string Id
rendelkező típus.
A Node.js függvényekben használja context.bindings.<name>
a kimeneti rekord elérését.