Mobile Apps-bindingen voor Azure Functions
Notitie
Azure Mobile Apps-bindingen zijn alleen beschikbaar voor Azure Functions 1.x. Ze worden niet ondersteund in Azure Functions 2.x en hoger.
Belangrijk
De ondersteuning wordt beƫindigd voor versie 1.x van de Azure Functions-runtime op 14 september 2026. We raden u ten zeerste aan uw apps te migreren naar versie 4.x voor volledige ondersteuning.
In dit artikel wordt uitgelegd hoe u kunt werken met Azure Mobile Apps-bindingen in Azure Functions. Azure Functions ondersteunt invoer- en uitvoerbindingen voor Mobile Apps.
Met de Mobile Apps-bindingen kunt u gegevenstabellen lezen en bijwerken in mobiele apps.
Pakketten - Functions 1.x
Mobile Apps-bindingen worden geleverd in het NuGet-pakket Microsoft.Azure.WebJobs.Extensions.MobileApps , versie 1.x. De broncode voor het pakket bevindt zich in de GitHub-opslagplaats azure-webjobs-sdk-extensions .
De volgende tabel bevat informatie over het toevoegen van ondersteuning voor uitvoerbinding in elke ontwikkelomgeving.
Ontwikkelomgeving | Ondersteuning toevoegen in Functions 1.x |
---|---|
Lokale ontwikkeling: C#-klassebibliotheek | Het pakket installeren |
Lokale ontwikkeling: C#-script, JavaScript, F# | Automatisch |
Portal-ontwikkeling | Automatisch |
Invoer
Met de invoerbinding voor Mobile Apps wordt een record uit een eindpunt van een mobiele tabel geladen en doorgegeven aan uw functie. In C#- en F#-functies worden alle wijzigingen die in de record zijn aangebracht, automatisch teruggestuurd naar de tabel wanneer de functie wordt afgesloten.
Invoer - voorbeeld
Zie het taalspecifieke voorbeeld:
In het volgende voorbeeld ziet u een Mobile Apps-invoerbinding in een function.json-bestand en een C#-scriptfunctie die gebruikmaakt van de binding. De functie wordt geactiveerd door een wachtrijbericht met een record-id. De functie leest de opgegeven record en wijzigt Text
de eigenschap.
Dit zijn de bindingsgegevens in het bestand 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"
}
]
}
In de configuratiesectie worden deze eigenschappen uitgelegd.
Dit is de C# Script-code:
#r "Newtonsoft.Json"
using Newtonsoft.Json.Linq;
public static void Run(string myQueueItem, JObject record)
{
if (record != null)
{
record["Text"] = "This has changed.";
}
}
Invoer - kenmerken
Gebruik in C#-klassebibliotheken het kenmerk MobileTable .
Zie de volgende configuratiesectie voor informatie over kenmerkeigenschappen die u kunt configureren.
Invoer - configuratie
De volgende tabel bevat informatie over de bindingsconfiguratie-eigenschappen die u instelt in het bestand function.json en het kenmerk MobileTable
.
function.json-eigenschap | Kenmerkeigenschap | Beschrijving |
---|---|---|
type | N.v.t. | Moet zijn ingesteld op 'mobileTable' |
direction | N.v.t. | Moet zijn ingesteld op 'in' |
name | N.v.t. | Naam van invoerparameter in functiehandtekening. |
tableName | TableName | Naam van de gegevenstabel van de mobiele app |
id | Id | De id van de record die moet worden opgehaald. Kan statisch zijn of op basis van de trigger die de functie aanroept. Als u bijvoorbeeld een wachtrijtrigger voor uw functie gebruikt, gebruikt "id": "{queueTrigger}" u de tekenreekswaarde van het wachtrijbericht als record-id om op te halen. |
verbinding | Verbinding | De naam van een app-instelling met de URL van de mobiele app. De functie gebruikt deze URL om de vereiste REST-bewerkingen samen te stellen voor uw mobiele app. Maak een app-instelling in uw functie-app die de URL van de mobiele app bevat en geef vervolgens de naam op van de app-instelling in de connection eigenschap in uw invoerbinding. De URL ziet er als volgt https://<appname>.azurewebsites.net uit. |
apiKey | ApiKey | De naam van een app-instelling met de API-sleutel van uw mobiele app. Geef de API-sleutel op als u een API-sleutel implementeert in uw Node.js mobiele app of een API-sleutel implementeert in uw mobiele .NET-app. Als u de sleutel wilt opgeven, maakt u een app-instelling in uw functie-app die de API-sleutel bevat en voegt u vervolgens de apiKey eigenschap toe aan uw invoerbinding met de naam van de app-instelling. |
Wanneer u lokaal ontwikkelt, voegt u uw toepassingsinstellingen toe aan het local.settings.json-bestand in de Values
verzameling.
Belangrijk
Deel de API-sleutel niet met uw mobiele app-clients. Het mag alleen veilig worden gedistribueerd naar clients aan de servicezijde, zoals Azure Functions. Azure Functions slaat uw verbindingsgegevens en API-sleutels op als app-instellingen, zodat ze niet worden ingecheckt in uw opslagplaats voor broncodebeheer. Dit beschermt uw gevoelige informatie.
Invoer - gebruik
Wanneer in C#-functies de record met de opgegeven id wordt gevonden, wordt deze doorgegeven aan de parameter JObject . Wanneer de record niet wordt gevonden, is null
de parameterwaarde .
In JavaScript-functies wordt de record doorgegeven aan het context.bindings.<name>
object. Wanneer de record niet wordt gevonden, is null
de parameterwaarde .
In C#- en F#-functies worden alle wijzigingen die u aanbrengt in de invoerrecord (invoerparameter) automatisch teruggestuurd naar de tabel wanneer de functie wordt afgesloten. U kunt een record in JavaScript-functies niet wijzigen.
Uitvoer
Gebruik de Mobile Apps-uitvoerbinding om een nieuwe record naar een Mobile Apps-tabel te schrijven.
Uitvoer - voorbeeld
In het volgende voorbeeld ziet u een C#-functie die wordt geactiveerd door een wachtrijbericht en een record maakt in een tabel met mobiele apps.
[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}" };
}
Uitvoer - kenmerken
Gebruik in C#-klassebibliotheken het kenmerk MobileTable .
Zie Uitvoer - configuratie voor informatie over kenmerkeigenschappen die u kunt configureren. Hier volgt een MobileTable
kenmerkvoorbeeld in een methodehandtekening:
[FunctionName("MobileAppsOutput")]
[return: MobileTable(ApiKeySetting = "MyMobileAppKey", TableName = "MyTable", MobileAppUriSetting = "MyMobileAppUri")]
public static object Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
TraceWriter log)
{
...
}
Uitvoer - configuratie
De volgende tabel bevat informatie over de bindingsconfiguratie-eigenschappen die u instelt in het bestand function.json en het kenmerk MobileTable
.
function.json-eigenschap | Kenmerkeigenschap | Beschrijving |
---|---|---|
type | N.v.t. | Moet zijn ingesteld op 'mobileTable' |
direction | N.v.t. | Moet worden ingesteld op 'out' |
name | N.v.t. | Naam van uitvoerparameter in functiehandtekening. |
tableName | TableName | Naam van de gegevenstabel van de mobiele app |
verbinding | MobileAppUriSetting | De naam van een app-instelling met de URL van de mobiele app. De functie gebruikt deze URL om de vereiste REST-bewerkingen samen te stellen voor uw mobiele app. Maak een app-instelling in uw functie-app die de URL van de mobiele app bevat en geef vervolgens de naam op van de app-instelling in de connection eigenschap in uw invoerbinding. De URL ziet er als volgt https://<appname>.azurewebsites.net uit. |
apiKey | ApiKeySetting | De naam van een app-instelling met de API-sleutel van uw mobiele app. Geef de API-sleutel op als u een API-sleutel implementeert in de back-end van uw Node.js mobiele app of een API-sleutel implementeert in de back-end van uw mobiele .NET-app. Als u de sleutel wilt opgeven, maakt u een app-instelling in uw functie-app die de API-sleutel bevat en voegt u vervolgens de apiKey eigenschap toe aan uw invoerbinding met de naam van de app-instelling. |
Wanneer u lokaal ontwikkelt, voegt u uw toepassingsinstellingen toe aan het local.settings.json-bestand in de Values
verzameling.
Belangrijk
Deel de API-sleutel niet met uw mobiele app-clients. Het mag alleen veilig worden gedistribueerd naar clients aan de servicezijde, zoals Azure Functions. Azure Functions slaat uw verbindingsgegevens en API-sleutels op als app-instellingen, zodat ze niet worden ingecheckt in uw opslagplaats voor broncodebeheer. Dit beschermt uw gevoelige informatie.
Uitvoer - gebruik
Gebruik in C#-scriptfuncties een benoemde uitvoerparameter van het type out object
voor toegang tot de uitvoerrecord. In C#-klassebibliotheken kan het MobileTable
kenmerk worden gebruikt met een van de volgende typen:
ICollector<T>
ofIAsyncCollector<T>
, waarT
isJObject
of elk type met eenpublic string Id
eigenschap.out JObject
out T
ofout T[]
, waarT
is elk type met eenpublic string Id
eigenschap.
Gebruik in Node.js functies context.bindings.<name>
om toegang te krijgen tot de uitvoerrecord.