Trigger e associazioni di Azure Cosmos DB per Funzioni di Azure 2.x e panoramica successiva
Questo set di articoli illustra come usare le associazioni di Azure Cosmos DB in Funzioni di Azure 2.x e versioni successive. Funzioni di Azure supporta i trigger e le associazioni di input e output per Azure Cosmos DB.
Azione | Tipo |
---|---|
Eseguire una funzione quando viene creato o modificato un documento di Azure Cosmos DB | Trigger |
Leggere un documento di Azure Cosmos DB | Associazione di input |
Salvare le modifiche a un documento di Azure Cosmos DB | Associazione di output |
Nota
Questo riferimento è per Funzioni di Azure versione 2.x e successiva. Per informazioni su come usare le associazioni in Funzioni 1.x, vedere Associazioni di Azure Cosmos DB per Funzioni di Azure 1.x.
Questa associazione è stata originariamente denominata DocumentDB. In Funzioni di Azure versione 2.x e successiva, il trigger, le associazioni e il pacchetto sono tutti denominati Azure Cosmos DB.
API supportate
Le associazioni di Azure Cosmos DB sono supportate solo per l'uso con Azure Cosmos DB per NoSQL. Il supporto per Azure Cosmos DB per Table viene fornito usando le associazioni di archiviazione tabelle, a partire dall'estensione 5.x. Per tutte le altre API di Azure Cosmos DB, è necessario accedere al database dalla funzione usando il client statico per l'API, inclusi Azure Cosmos DB per MongoDB, Azure Cosmos DB per Cassandra e Azure Cosmos DB per Apache Gremlin.
Installare l'estensione
Il pacchetto NuGet di estensione installato dipende dalla modalità C# che si usa nell'app per le funzioni:
Le funzioni eseguite nello stesso processo dell'host funzioni. Per altre informazioni, vedere Sviluppare funzioni della libreria di classi C# usando Funzioni di Azure.
Il processo per l'installazione dell'estensione varia a seconda della versione dell'estensione:
L'uso dei trigger e delle associazioni richiede di fare riferimento al pacchetto NuGet appropriato. Installare il pacchetto NuGet versione 3.x.
Installare il bundle
L'estensione associazioni di Azure Cosmos DB fa parte di un bundle di estensione, specificato nel file di progetto host.json. Potrebbe essere necessario modificare questo bundle per modificare la versione dell'associazione oppure se i bundle non sono già installati. Per altre informazioni, vedere bundle di estensioni.
È possibile installare questa versione dell'estensione nell'app per le funzioni registrando il bundle di estensione, la versione 2.x o 3.x.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
A causa delle modifiche dello schema nell'SDK di Azure Cosmos DB, la versione 4.x dell'estensione Azure Cosmos DB richiede azure-functions-java-library V3.0.0 per le funzioni Java.
È possibile aggiungere questa versione dell'estensione dal bundle di estensione di anteprima v4 aggiungendo o sostituendo il codice seguente nel host.json
file:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
Per altre informazioni, vedere Aggiornare le estensioni.
Tipi di associazioni
I tipi di associazione supportati per .NET dipendono sia dalla versione dell'estensione che dalla modalità di esecuzione C#, che può essere una delle seguenti:
Una libreria di classi in-process è una funzione C# compilata eseguita nello stesso processo del runtime di Funzioni.
Scegliere una versione per visualizzare i dettagli del tipo di associazione per la modalità e la versione.
Versioni precedenti dei tipi esposti dell'estensione dallo spazio dei nomi Microsoft.Azure.Documents deprecato. I tipi più recenti di Microsoft.Azure.Cosmos sono esclusivi dell'estensione 4.x e versioni successive.
Eccezioni e codici restituiti
Binding | Informazioni di riferimento |
---|---|
Azure Cosmos DB | Codici di stato HTTP per Azure Cosmos DB |
impostazioni host.json
Questa sezione descrive le impostazioni di configurazione disponibili per questa associazione nelle versioni 2.x e successive. Le impostazioni nel file host.json si applicano a tutte le funzioni in un'istanza dell'app per le funzioni. Il file host.json di esempio seguente contiene solo le impostazioni 2.x+ per questa associazione. Per altre informazioni sulle impostazioni di configurazione delle app per le funzioni nelle versioni 2.x e successive, vedere informazioni di riferimento su host.json per Funzioni di Azure.
{
"version": "2.0",
"extensions": {
"cosmosDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
}
Proprietà | Predefinito | Descrizione |
---|---|---|
connectionMode | Gateway |
La modalità di connessione usata dalla funzione durante la connessione al servizio di Azure Cosmos DB. Le opzioni sono Direct e Gateway |
protocol | Https |
Il protocollo di connessione usato dalla funzione durante la connessione al servizio di Azure Cosmos DB. Leggere qui per una spiegazione di entrambe le modalità. |
leasePrefix | n/d | Prefisso di lease da usare in tutte le funzioni in un'app. |