Creare una funzione attivata da Azure Cosmos DB
Informazioni su come creare una funzione nel portale di Azure attivata quando i dati vengono aggiunti o modificati in Azure Cosmos DB. Per altre informazioni su Azure Cosmos DB, vedere Azure Cosmos DB: elaborazione di database senza server con Funzioni di Azure.
Nota
La modifica nel portale è supportata solo per le funzioni JavaScript, PowerShell e Script C#. La modifica nel portale di Python è supportata solo quando è in esecuzione nel piano a consumo. Per creare un'app script C# che supporta la modifica nel portale, è necessario scegliere una versione di runtime che supporti il modello in-process.
Quando possibile, è consigliabile sviluppare le funzioni in locale.
Per ulteriori informazioni sulle limitazioni relative alla modifica del codice della funzione nel portale di Azure, vedere Limitazioni di sviluppo nel portale di Azure.
Prerequisiti
Per completare questa esercitazione:
- Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Nota
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 la tabella 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, incluso Azure Cosmos DB per MongoDB, Azure Cosmos DB per Cassandrae Azure Cosmos DB per Apache Gremlin.
Accedere ad Azure
Accedere al portale di Azure con il proprio account Azure.
Creare un account Azure Cosmos DB
Prima di creare il trigger è necessario un account Azure Cosmos DB che usa l'API SQL.
Nel menu del portale di Azure o dalla pagina Home selezionare Crea una risorsa.
Cercare Azure Cosmos DB. Selezionare Crea>Azure Cosmos DB.
Nella pagina Creare un account Azure Cosmos DB, selezionare l'opzione Crea all'interno della sezione Azure Cosmos DB for NoSQL.
Azure Cosmos DB offre diverse API:
- NoSQL, per i dati del documento
- PostgreSQL
- MongoDB, per i dati del documento
- Apache Cassandra
- Tabella
- Apache Gremlin, per i dati del grafo
Per ulteriori informazioni sulla API per NoSQL, vedere Introduzione ad Azure Cosmos DB.
Nella pagina Crea account Azure Cosmos DB, immettere le impostazioni base per il nuovo account Azure Cosmos DB.
Impostazione valore Descrizione Abbonamento Nome della sottoscrizione Selezionare la sottoscrizione di Azure da usare per l'account Azure Cosmos DB. Gruppo di risorse Nome gruppo di risorse Selezionare un gruppo di risorse oppure fare clic su Crea nuovo, quindi immettere un nome univoco per il nuovo gruppo di risorse. Nome conto Un nome univoco Immettere un nome per identificare l'account Azure Cosmos DB. Dato che al nome specificato viene aggiunto documents.azure.com per creare l'URI, usare un nome univoco. Il nome può contenere solo lettere minuscole, numeri e il trattino (-). Deve essere di 3-44 caratteri. Ufficio Area più vicina ai propri utenti Selezionare una posizione geografica in cui ospitare l'account Azure Cosmos DB. Usare la località più vicina agli utenti per offrire loro la massima velocità di accesso ai dati. Modalità di capacità Velocità effettiva con provisioning o Serverless Selezionare Provisioning velocità effettiva per creare un account in modalità Provisioning velocità effettiva. Selezionare Serverless per creare un account in modalità Serverless. Applicare lo sconto del livello gratuito di Azure Cosmos DB Applicare o non applicare Il livello gratuito di Azure Cosmos DB offre i primi 1000 UR/sec e 25 GB di spazio di archiviazione gratuiti per account. Altre informazioni sul livello gratuito. Limitare la velocità effettiva totale dell'account Selezionato o non selezionato È possibile limitare la misura totale di velocità effettiva di provisioning in questo account. Questo limite impedisce addebiti imprevisti correlati alla velocità effettiva con provisioning. È possibile aggiornare o rimuovere questo limite dopo la creazione dell'account. È possibile avere al massimo un account Azure Cosmos DB di livello gratuito per ogni sottoscrizione di Azure ed è necessario acconsentire esplicitamente durante la creazione dell'account. Se l'opzione di applicare lo sconto per il livello gratuito non è visualizzata, significa che un altro account nella sottoscrizione è già stato abilitato per il livello gratuito.
Nota
Le opzioni seguenti non sono disponibili se si seleziona Serverless come modalità di capacità:
- Applica sconto livello gratuito
- Limitare la velocità effettiva totale dell'account
Nella scheda Distribuzione globale configurare i dettagli seguenti. Per questo avvio rapido è possibile lasciare i valori predefiniti:
Impostazione valore Descrizione Ridondanza geografica Disabilita Abilitare o disabilitare la distribuzione globale nell'account associando la propria area a un'altra area. È possibile aggiungere altre aree al proprio account in un secondo momento. Scritture in più aree Disabilita La funzionalità Scritture in più aree consente di sfruttare la velocità effettiva di cui è stato effettuato il provisioning per i database e i contenitori in tutto il mondo. Zone di disponibilità Disabilita Le zone di disponibilità consentono di migliorare ulteriormente la disponibilità e la resilienza dell'applicazione. Nota
Le seguenti opzioni non sono disponibili se si seleziona Serverless come modalità di capacità nella pagina precedente Basic:
- Ridondanza geografica
- Scritture in più aree
Facoltativamente, è possibile configurare altri dettagli nelle schede seguenti:
- Reti. Configurare accesso da una rete virtuale.
- Criteri di backup. Configurare criteri di backup periodici o continui.
- Crittografia. Usare una chiave gestita dal servizio o una chiave gestita dal cliente.
- Tag. I tag sono coppie nome-valore che consentono di classificare le risorse e visualizzare dati di fatturazione consolidati tramite l'applicazione dello stesso tag a più risorse e gruppi di risorse.
Selezionare Rivedi e crea.
Esaminare le impostazioni dell'account e quindi selezionare Crea. La creazione dell'account richiede alcuni minuti. Attendere che la pagina del portale visualizzi La distribuzione è stata completata.
Selezionare Vai alla risorsa per passare alla pagina dell'account Azure Cosmos DB.
Creare un'app per le funzioni in Azure
Nel menu del portale di Azure o dalla pagina Home selezionare Crea una risorsa.
Nella pagina Nuovo, selezionare Calcolo>App per le funzioni.
In Selezionare un'opzione di hosting selezionare Consumo> Seleziona per creare l'app nel piano a consumo predefinito. In questa opzione di hosting serverless si paga solo per il periodo in cui le funzioni sono in esecuzione. Il piano Premium offre anche il ridimensionamento dinamico. In caso di esecuzione in un piano di servizio app, è necessario gestire il ridimensionamento dell'app per le funzioni.
Nella pagina Informazioni di base usare le impostazioni dell'app per le funzioni specificate nella tabella seguente:
Impostazione Valore suggerito Descrizione Abbonamento Sottoscrizione in uso Sottoscrizione in cui si crea la nuova app per le funzioni. Gruppo di risorse myResourceGroup Il nome del nuovo gruppo di risorse in cui viene creata l'app per le funzioni. È consigliabile creare un nuovo gruppo di risorse perché esistono limitazioni note durante la creazione di nuove app per le funzioni in un gruppo di risorse esistente. Nome dell'app per le funzioni Nome globalmente univoco Nome che identifica la nuova app per le funzioni. I caratteri validi sono a-z
(senza distinzione tra maiuscole e minuscole),0-9
e-
.Stack di runtime Lingua preferita Scegliere un runtime che supporti il linguaggio di programmazione della funzione preferito. La modifica nel portale è disponibile solo per script JavaScript, PowerShell, Python, TypeScript e C#.
Per creare un'app script C# che supporta la modifica nel portale, è necessario scegliere una versione di runtime che supporti il modello in-process.
La libreria di classi C# e le funzioni Java devono essere sviluppate localmente.Versione Numero versione Scegliere la versione del runtime installato. Area Area preferita Selezionare un'area vicina a sé o vicina ad altri servizi a cui le funzioni possono accedere. Sistema operativo Windows Viene preselezionato automaticamente un sistema operativo in base alla selezione dello stack di runtime, ma, se necessario, è possibile modificare l'impostazione. La modifica all'interno del portale è supportata solo in Windows. Accettare le opzioni predefinite nelle schede rimanenti, incluso il comportamento predefinito della creazione di un nuovo account di archiviazione nella scheda Archiviazione e una nuova istanza di Application Insight nella scheda Monitoraggio. È anche possibile scegliere di usare un account di archiviazione esistente o un'istanza di Application Insights.
Selezionare Rivedi e crea per esaminare la configurazione dell'app scelta e quindi selezionare Crea per effettuare il provisioning e distribuire l'app per le funzioni.
Selezionare l'icona Notifiche nell'angolo superiore destro del portale e attendere che venga visualizzato il messaggio La distribuzione è riuscita.
Selezionare Vai alla risorsa per visualizzare la nuova app per le funzioni. È anche possibile selezionare Aggiungi al dashboard. In questo modo è più facile tornare in questa risorsa di app per le funzioni dal dashboard.
Si creerà ora una funzione nella nuova app per le funzioni.
Creare i trigger di Azure Cosmos DB
Nell'app per le funzioni selezionare Panoramicae quindi + Crea in Funzioni.
In Selezionare un modelloscorrere verso il basso e scegliere il modello di trigger di Azure Cosmos DB.
In Dettagli modello configurare il nuovo trigger con le impostazioni specificate in questa tabella, quindi selezionare Crea:
Impostazione Valore suggerito Descrizione Nuova funzione Accettare il nome predefinito Nome della funzione. Connessione all'account Azure Cosmos DB Accettare il nuovo nome predefinito Selezionare Nuovo, quindi l'account di database creato in precedenza e infine OK. Verrà creata un'impostazione applicazione per la connessione all'account. Questa impostazione viene usata dal binding per la connessione al database. Nome database Attività Nome del database che include la raccolta da monitorare. Nome raccolta Articoli Nome della raccolta da monitorare. Nome della raccolta per i lease leases Nome della raccolta per l'archiviazione dei lease. Crea raccolta di lease se non esiste Sì Verifica l'esistenza della raccolta di lease e la crea automaticamente. Azure crea la funzione attivata da Azure Cosmos DB in base ai valori specificati.
Per visualizzare il codice della funzione basato sul modello, selezionare Codice e test.
Questo modello di funzione scrive il numero di documenti e l'ID del primo documento nei log.
Successivamente, connettersi al proprio account Azure Cosmos DB e creare il contenitore Items
nel database Tasks
.
Creare il contenitore Items
Aprire una seconda istanza del portale di Azure in una nuova scheda del browser.
Sul lato sinistro del portale espandere la barra delle icone, digitare
cosmos
nel campo di ricerca e selezionare Azure Cosmos DB.Scegliere l'account di Azure Cosmos DB, quindi selezionare Esplora dati.
In API SQL scegliere il database Tasks e selezionare Nuovo contenitore.
In Aggiungi contenitore usare le impostazioni visualizzate nella tabella riportata sotto l'immagine.
Impostazione Valore suggerito Descrizione ID database Attività Nome del nuovo database. Deve corrispondere al nome definito nell'associazione della funzione. ID contenitore Articoli Il nome del nuovo contenitore. Deve corrispondere al nome definito nell'associazione della funzione. Chiave di partizione /category Chiave di partizione che distribuisce i dati in modo uniforme a ogni partizione. Quando si crea un contenitore a elevate prestazioni, è importante selezionare la chiave di partizione corretta. Velocità effettiva 400 UR Usa il valore predefinito. Se si vuole ridurre la latenza, è possibile aumentare la velocità effettiva in un secondo momento. Fare clic su OK per creare il contenitore Items. La creazione del contenitore potrebbe richiedere del tempo.
Dopo aver creato il contenitore specificato nel binding della funzione, è possibile testare la funzione aggiungendo elementi a questo nuovo contenitore.
Testare la funzione
In Esplora dati espandere il nuovo contenitore Items, scegliere Items, quindi selezionare Nuovo elemento.
Sostituire il contenuto del nuovo elemento con il contenuto seguente, quindi scegliere Salva.
{ "id": "task1", "category": "general", "description": "some task" }
Passare alla prima scheda del browser che contiene la funzione nel portale. Espandere i log della funzione e verificare che il nuovo documento abbia attivato la funzione. Verificare che il valore dell'ID del documento
task1
sia scritto nel log.(Facoltativo) Tornare al documento, apportare una modifica e fare clic su Aggiorna. Quindi, tornare ai log della funzione e verificare che l'aggiornamento abbia attivato anche la funzione.
Pulire le risorse
Altre guide di avvio rapido di questa raccolta si basano sulla presente guida di avvio rapido. Se si prevede di continuare a usare le guide di avvio rapido o i servizi creati con questa guida di avvio rapido, non eseguire la pulizia delle risorse.
Il termine risorse in Azure si riferisce ad app per le funzioni, funzioni, account di archiviazione e così via. Le risorse sono raggruppate in gruppi di risorse, ed è possibile eliminare tutti gli elementi in un gruppo eliminando il gruppo.
Per completare queste guide introduttive sono state create risorse. Per tali risorse potrebbero venire addebitati costi, a seconda dello stato dell'account e dei prezzi dei servizi. Se le risorse non sono più necessarie, ecco come eliminarle:
Nel portale di Azure passare alla pagina Gruppo di risorse.
Per visualizzare tale pagina dalla pagina dell'app per le funzioni, selezionare la scheda Panoramica e quindi selezionare il collegamento sotto Gruppo di risorse.
Per visualizzare tale pagina dal dashboard, selezionare Gruppi di risorse e quindi selezionare il gruppo di risorse usato nell’articolo.
Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.
Selezionare Elimina gruppo di risorse e seguire le istruzioni.
L'eliminazione potrebbe richiedere alcuni minuti. Al termine, viene visualizzata una notifica per pochi secondi. È anche possibile selezionare l'icona a forma di campana nella parte superiore della pagina per visualizzare la notifica.
Passaggi successivi
È stata creata una funzione che viene eseguita quando un documento viene aggiunto o modificato nel database di Azure Cosmos DB. Per altre informazioni sui trigger di Azure Cosmos DB, vedere Binding di Azure Cosmos DB per Funzioni di Azure.
Dopo avere creato la prima funzione, è possibile aggiungere un'associazione di output alla funzione che scrive un messaggio in una coda di archiviazione.