gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
In deze reeks artikelen wordt uitgelegd hoe u kunt werken met Azure Cosmos DB-bindingen in Azure Functions 2.x en hoger. Azure Functions ondersteunt trigger-, invoer- en uitvoerbindingen voor Azure Cosmos DB.
Actie | Type |
---|---|
Een functie uitvoeren wanneer een Azure Cosmos DB-document wordt gemaakt of gewijzigd | Trigger |
Een Azure Cosmos DB-document lezen | Invoerbinding |
Wijzigingen opslaan in een Azure Cosmos DB-document | Uitvoerbinding |
Notitie
Deze verwijzing is voor Azure Functions versie 2.x en hoger. Zie Azure Cosmos DB-bindingen voor Azure Functions 1.x voor informatie over het gebruik van deze bindingen in Functions 1.x.
Deze binding heette oorspronkelijk DocumentDB. In Azure Functions versie 2.x en hoger hebben de trigger, bindingen en het pakket allemaal de naam Azure Cosmos DB.
Azure Cosmos DB-bindingen worden alleen ondersteund voor gebruik met Azure Cosmos DB voor NoSQL. Ondersteuning voor Azure Cosmos DB voor Table wordt geleverd met behulp van de Table Storage-bindingen, te beginnen met extensie 5.x. Voor alle andere Azure Cosmos DB-API's hebt u toegang tot de database vanuit uw functie met behulp van de statische client voor uw API, waaronder Azure Cosmos DB voor MongoDB, Azure Cosmos DB voor Cassandra en Azure Cosmos DB voor Apache Gremlin.
Het NuGet-extensiepakket dat u installeert, is afhankelijk van de C#-modus die u gebruikt in uw functie-app:
Belangrijk
De ondersteuning wordt beëindigd voor het in-process model op 10 november 2026. We raden u ten zeerste aan uw apps te migreren naar het geïsoleerde werkrolmodel voor volledige ondersteuning.
Functies worden uitgevoerd in hetzelfde proces als de Functions-host. Zie C#-klassebibliotheekfuncties ontwikkelen met behulp van Azure Functions voor meer informatie.
In een variatie van dit model kunnen functies worden uitgevoerd met behulp van C#-scripting. Dit wordt voornamelijk ondersteund voor het bewerken van de C#-portal. Zie Uw extensies bijwerken als u bestaande bindingsextensies wilt bijwerken voor C#-script-apps die worden uitgevoerd in de portal zonder dat u de functie-app opnieuw hoeft te publiceren.
Het proces voor het installeren van de extensie varieert afhankelijk van de extensieversie:
In deze sectie wordt beschreven hoe u een klassebibliotheek gebruikt. Voor C#-scripts moet u in plaats daarvan de extensiebundel, versie 4.x, installeren.
Deze versie van de Azure Cosmos DB bindings-extensie introduceert de mogelijkheid om verbinding te maken met behulp van een identiteit in plaats van een geheim. Zie de zelfstudie over het maken van een functie-app met op identiteit gebaseerde verbindingen voor een zelfstudie over het configureren van uw functie-apps met beheerde identiteiten.
In deze versie worden ook de typen gewijzigd waarmee u verbinding kunt maken, waarbij u de typen van de v2 SDK Microsoft.Azure.DocumentDB
vervangt door nieuwere typen van de v3 SDK Microsoft.Azure.Cosmos. Meer informatie over hoe deze nieuwe typen verschillen en hoe u ernaar kunt migreren vanuit de SDK-migratiehandleiding, trigger, invoerbinding en uitvoerbindingsvoorbeelden .
Deze extensieversie is beschikbaar als een NuGet-pakket, versie 4.x.
De Azure Cosmos DB-bindingsextensie maakt deel uit van een extensiebundel, die is opgegeven in uw host.json projectbestand. Mogelijk moet u deze bundel wijzigen om de versie van de binding te wijzigen of als bundels nog niet zijn geïnstalleerd. Zie uitbreidingsbundel voor meer informatie.
Vanwege schemawijzigingen in de Azure Cosmos DB SDK vereist versie 4.x van de Azure Cosmos DB-extensie azure-functions-java-library V3.0.0 voor Java-functies.
Deze versie van de bundel bevat versie 4.x van de Azure Cosmos DB-bindingsextensie waarmee u verbinding kunt maken met behulp van een identiteit in plaats van een geheim. Zie de zelfstudie over het maken van een functie-app met op identiteit gebaseerde verbindingen voor een zelfstudie over het configureren van uw functie-apps met beheerde identiteiten.
U kunt deze versie van de extensie toevoegen vanuit de preview-extensiebundel v4 door de volgende code toe te voegen of te vervangen in uw host.json
bestand:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
Zie Uw extensies bijwerken voor meer informatie.
De bindingstypen die worden ondersteund voor .NET zijn afhankelijk van zowel de extensieversie als de C#-uitvoeringsmodus. Dit kan een van de volgende zijn:
Een in-process-klassebibliotheek is een gecompileerde C#-functie die wordt uitgevoerd in hetzelfde proces als de Functions-runtime.
Kies een versie om de details van het bindingstype voor de modus en versie weer te geven.
De Azure Cosmos DB-extensie ondersteunt parametertypen volgens de onderstaande tabel.
Bindingsscenario | Parametertypen |
---|---|
Cosmos DB-trigger (één document) | JSON serialiseerbare typen1 |
Cosmos DB-trigger (batch documenten) | IEnumerable<T> waarbij T een JSON serialiseerbaar type1 is |
Cosmos DB-invoer (één document) | JSON serialiseerbare typen1 |
Cosmos DB-invoer (query die meerdere documenten retourneert) | CosmosClientIEnumerable<T> waarbij T een JSON serialiseerbaar type1 is |
Cosmos DB-uitvoer (één document) | JSON serialiseerbare typen1 |
Cosmos DB-uitvoer (meerdere documenten) | ICollector<T> of IAsyncCollector<T> waar T is een JSON serialiseerbare type1 |
1 Documenten die JSON-gegevens bevatten, kunnen worden gedeserialiseerd in bekende niet-oude CLR-objecttypen (POCO).
Binding | Verwijzing |
---|---|
Azure Cosmos DB | HTTP-statuscodes voor Azure Cosmos DB |
In deze sectie worden de configuratie-instellingen beschreven die beschikbaar zijn voor deze binding in versie 2.x en hoger. Instellingen in het bestand host.json zijn van toepassing op alle functies in een exemplaar van een functie-app. Het onderstaande voorbeeld host.json bestand bevat alleen de instellingen voor versie 2.x+ voor deze binding. Zie host.json naslaginformatie voor Azure Functions voor meer informatie over configuratie-instellingen voor functie-apps in versies 2.x en latere versies.
{
"version": "2.0",
"extensions": {
"cosmosDB": {
"connectionMode": "Gateway",
"userAgentSuffix": "MyDesiredUserAgentStamp"
}
}
}
Eigenschappen | Standaard | Beschrijving |
---|---|---|
connectionMode | Gateway |
De verbindingsmodus die door de functie wordt gebruikt bij het maken van verbinding met de Azure Cosmos DB-service. Opties zijn Direct en Gateway |
userAgentSuffix | n.v.t. | Hiermee voegt u de opgegeven tekenreekswaarde toe aan alle aanvragen die door de trigger of binding aan de service zijn gedaan. Hierdoor kunt u de activiteit in Azure Monitor gemakkelijker bijhouden op basis van een specifieke functie-app en filteren User Agent op. |
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registreren