Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida rapida si usa Visual Studio Code per creare un'app che risponde alle modifiche in un database No SQL in Azure Cosmos DB. Dopo aver testato il codice in locale, è possibile distribuirlo in una nuova app per le funzioni serverless creata in un piano a consumo Flex in Funzioni di Azure.
L'origine del progetto usa l'estensione azd (Azure Developer CLI) con Visual Studio Code per semplificare l'inizializzazione e la verifica del codice del progetto in locale, nonché la distribuzione del codice in Azure. Questa distribuzione segue le procedure consigliate correnti per le distribuzioni di Funzioni di Azure sicure e scalabili.
Importante
Anche se rispondere alle modifiche in un database Azure Cosmos DB NoSQL è supportato per tutti i linguaggi, attualmente questo scenario di avvio rapido include solo esempi per C#, Python e TypeScript. Per completare questa guida introduttiva, selezionare una di queste lingue supportate nella parte superiore dell'articolo.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuito.
Visual Studio Code in una delle piattaforme supportate.
Estensione Funzioni di Azure per Visual Studio Code. Questa estensione richiede Azure Functions Core Tools. Quando questo strumento non è disponibile in locale, l'estensione tenta di installarla usando un programma di installazione basato su pacchetti. È anche possibile installare o aggiornare il pacchetto Core Tools eseguendo
Azure Functions: Install or Update Azure Functions Core Toolsdal riquadro comandi. Se nel computer locale non è installato npm o Homebrew, è necessario installare o aggiornare manualmente Core Tools.
Estensione C# per Visual Studio Code.
-
Node.js 18.x o versione successiva. Usare il comando
node --versionper controllare la versione in uso.
Versioni di Python supportate da Funzioni di Azure. Per altre informazioni, vedere Procedura per installare Python.
Estensione Python per Visual Studio Code.
- Estensione dell'interfaccia della riga di comando per sviluppatori di Azure per Visual Studio Code.
Inizializzare il progetto
È possibile usare il azd init comando dal riquadro comandi per creare un progetto di codice di Funzioni di Azure locale da un modello.
In Visual Studio Code aprire una cartella o un'area di lavoro in cui si vuole creare il progetto.
Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Initialize App (init)e quindi scegliere Seleziona un modello.Potrebbe verificarsi un lieve ritardo durante
azdl'inizializzazione della cartella o dell'area di lavoro corrente.
Quando richiesto, scegliere Seleziona un modello, quindi cercare e selezionare
Azure Functions with Cosmos DB Bindings (.NET).Quando richiesto, immettere un nome di ambiente univoco, ad esempio
cosmosdbchanges-dotnet.Questo comando esegue il pull dei file di progetto dal repository dei modelli e inizializza il progetto nella cartella o nell'area di lavoro corrente. In
azd, l'ambiente viene usato per mantenere un contesto di distribuzione univoco per l'app ed è possibile definirne più di uno. Fa anche parte del nome del gruppo di risorse creato in Azure.
Quando richiesto, scegliere Seleziona un modello, quindi cercare e selezionare
Azure Functions TypeScript CosmosDB trigger.Quando richiesto, immettere un nome di ambiente univoco, ad esempio
cosmosdbchanges-ts.Questo comando esegue il pull dei file di progetto dal repository dei modelli e inizializza il progetto nella cartella o nell'area di lavoro corrente. In
azd, l'ambiente viene usato per mantenere un contesto di distribuzione univoco per l'app ed è possibile definirne più di uno. Fa anche parte del nome del gruppo di risorse creato in Azure.
Quando richiesto, scegliere Seleziona un modello, quindi cercare e selezionare
Azure Functions Python with CosmosDB triggers and bindings....Quando richiesto, immettere un nome di ambiente univoco, ad esempio
cosmosdbchanges-py.Questo comando esegue il pull dei file di progetto dal repository dei modelli e inizializza il progetto nella cartella o nell'area di lavoro corrente. In
azd, l'ambiente viene usato per mantenere un contesto di distribuzione univoco per l'app ed è possibile definirne più di uno. Fa anche parte del nome del gruppo di risorse creato in Azure.
Eseguire questo comando, a seconda del sistema operativo locale, per concedere agli script di configurazione le autorizzazioni necessarie:
Eseguire questo comando con privilegi sufficienti:
chmod +x ./infra/scripts/*.sh
Prima di poter eseguire l'app in locale, è necessario creare le risorse in Azure. Questo progetto non usa l'emulazione locale per Azure Cosmos DB.
Creare risorse di Azure
Questo progetto è configurato per usare il azd provision comando per creare un'app per le funzioni in un piano a consumo Flex, insieme ad altre risorse di Azure necessarie che seguono le procedure consigliate correnti.
In Visual Studio Code premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Sign In with Azure Developer CLIe quindi accedere usando l'account Azure.Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Provision Azure resources (provision)per creare le risorse di Azure necessarie:Quando richiesto nella finestra Terminale, specificare questi parametri di distribuzione obbligatori:
Rapido Description Selezionare una sottoscrizione di Azure da usare Scegliere la sottoscrizione in cui si desidera creare le risorse. parametro di distribuzione per la località Area di Azure in cui creare il gruppo di risorse che contiene le nuove risorse di Azure. Vengono visualizzate solo le aree che attualmente supportano il piano a consumo Flex. Parametro di distribuzione vnetEnabled Mentre il modello supporta la creazione di risorse all'interno di una rete virtuale, per semplificare la distribuzione e i test, scegliere False.Il
azd provisioncomando usa la risposta a questi prompt con i file di configurazione Bicep per creare e configurare queste risorse di Azure necessarie, seguendo le procedure consigliate più recenti:- Piano a consumo Flex e app per le funzioni
- Account Azure Cosmos DB
- Archiviazione di Azure (richiesta) e Application Insights (scelta consigliata)
- Criteri di accesso e ruoli per l'account
- Connessioni da servizio a servizio che usano identità gestite (anziché stringhe di connessione archiviate)
Gli hook di post-provision generano anche il file local.settings.json necessario quando si esegue in locale. Questo file contiene anche le impostazioni necessarie per connettersi al database di Azure Cosmos DB in Azure.
Suggerimento
In caso di esito negativo dei passaggi durante il provisioning, è possibile rieseguire il
azd provisioncomando dopo aver risolto eventuali problemi.Al termine del comando, è possibile eseguire il codice del progetto in locale e attivare il database di Azure Cosmos DB in Azure.
Eseguire la funzione in locale
Visual Studio Code si integra con gli strumenti di base di Funzioni di Azure per consentire di eseguire questo progetto nel computer di sviluppo locale prima di pubblicare nella nuova app per le funzioni in Azure.
Premere F1 e nel riquadro comandi cercare ed eseguire il comando
Azurite: Start.Per avviare la funzione in locale, premere F5 o l'icona Esegui e debug nella barra attività sul lato sinistro. Il pannello Terminale visualizza l'output di Core Tools. L'app viene avviata nel pannello Terminale ed è possibile visualizzare il nome della funzione in esecuzione in locale.
In caso di problemi con l'esecuzione in Windows, assicurarsi che il terminale predefinito per Visual Studio Code non sia impostato su WSL Bash.
Con Core Tools ancora in esecuzione nel terminale, premere F1 e nel riquadro comandi cercare ed eseguire il comando
NoSQL: Create Item...e selezionare sia ildocument-dbdatabase che ildocumentscontenitore.Sostituire il contenuto del nuovo file Item.json con questi dati JSON e selezionare Salva:
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Dopo aver selezionato Salva, viene visualizzata l'esecuzione della funzione nel terminale e il documento locale viene aggiornato per includere i metadati aggiunti dal servizio.
Al termine, premere CTRL+C nella finestra del terminale per arrestare il processo host
func.exe.
Esaminare il codice (facoltativo)
La funzione viene attivata in base al feed di modifiche in un database NoSQL di Azure Cosmos DB. Queste variabili di ambiente configurano il modo in cui il trigger monitora il feed di modifiche:
-
COSMOS_CONNECTION__accountEndpoint: URI dell'endpoint dell'account Cosmos DB -
COSMOS_DATABASE_NAME: nome del database da monitorare -
COSMOS_CONTAINER_NAME: nome del contenitore da monitorare
Queste variabili di ambiente vengono create sia in Azure (impostazioni dell'app per le funzioni) che in locale (local.settings.json) durante l'operazione azd provision .
È possibile esaminare il codice che definisce il trigger di Azure Cosmos DB nel file di progetto CosmosTrigger.cs.
È possibile esaminare il codice che definisce il trigger di Azure Cosmos DB nel file di progetto cosmos_trigger.ts.
È possibile esaminare il codice che definisce il trigger di Azure Cosmos DB nel file di progetto function_app.py.
Dopo aver esaminato e verificato il codice della funzione in locale, è possibile pubblicare il progetto in Azure.
Distribuzione su Azure
Puoi eseguire il comando azd deploy da Visual Studio Code per distribuire il codice del progetto alle risorse in Azure già configurate.
Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Deploy to Azure (deploy).Il
azd deploycomando crea pacchetti e distribuisce il codice nel contenitore di distribuzione. L'app viene quindi avviata ed eseguita nel pacchetto distribuito.Al termine del comando, l'app viene eseguita in Azure.
Richiamare la funzione in Azure
In Visual Studio Code premere F1 e nel riquadro comandi cercare ed eseguire il comando
Azure: Open in portal, selezionareFunction appe scegliere la nuova app. Se necessario, accedere con l'account Azure.Questo comando apre la nuova app per le funzioni nel portale di Azure.
Nella scheda Panoramica della pagina principale, selezionare il nome della tua app per le funzioni e quindi la scheda Registri.
Usare il
NoSQL: Create Itemcomando in Visual Studio Code per aggiungere di nuovo un documento al contenitore come in precedenza.Verificare di nuovo che la funzione venga attivata da un aggiornamento nel contenitore monitorato.
Ridistribuire il codice
È possibile eseguire il azd deploy comando quante volte è necessario distribuire gli aggiornamenti del codice nell'app per le funzioni.
Annotazioni
I file di codice distribuiti vengono sempre sovrascritti dal pacchetto di distribuzione più recente.
Le risposte iniziali alle richieste di azd e a tutte le variabili di ambiente generate da azd, vengono archiviate localmente nell'ambiente denominato. Usare il comando azd env get-values per esaminare tutte le variabili nell'ambiente usato durante la creazione di risorse di Azure.
Pulire le risorse
Al termine dell'uso dell'app per le funzioni e delle risorse correlate, è possibile usare questo comando per eliminare l'app per le funzioni e le relative risorse da Azure ed evitare di sostenere ulteriori costi:
azd down --no-prompt
Annotazioni
L'opzione --no-prompt indica a azd di eliminare il gruppo di risorse senza conferma.
Questo comando non influisce sul progetto di codice locale.