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.
Azure Functions consente di connettere Azure servizi e altre risorse alle funzioni senza dover scrivere codice di integrazione personalizzato. Questi binding, che rappresentano sia input che output, vengono dichiarati all'interno della definizione di funzione. I dati dei binding vengono forniti alla funzione come parametri. Un trigger è un tipo speciale di binding di input. Anche se una funzione include un solo trigger, può avere più binding di input e output. Per altre informazioni, vedere Azure Functions trigger e concetti relativi alle associazioni.
Questo articolo illustra come usare Visual Studio per connettere la funzione creata nell'articolo di avvio rapido previous a Azure Storage. L'associazione di output aggiunta a questa funzione scrive i dati dalla richiesta HTTP a un messaggio in una coda di archiviazione di Azure Queue.
La maggior parte delle associazioni richiede una stringa di connessione archiviata, usata da funzioni per accedere al servizio associato. Per semplificare, utilizzi l'account di archiviazione che hai creato con l'applicazione di funzioni. La connessione a questo account è già archiviata in un'impostazione dell'app denominata AzureWebJobsStorage.
Prerequisiti
Prima di iniziare questo articolo, è necessario:
- Completare parte 1 della Guida Introduttiva di Visual Studio.
- Installare Azure Storage Explorer. Storage Explorer è uno strumento che verrà usato per esaminare i messaggi della coda generati dall'associazione di uscita. Storage Explorer è supportato nei sistemi operativi macOS, Windows e Linux.
- Accedere alla sottoscrizione Azure da Visual Studio.
Scaricare le impostazioni dell'app per le funzioni
Nell'articolo di avvio rapido precedente, hai creato un'applicazione di funzione in Azure insieme all'account di archiviazione necessario. Il connection string per questo account viene archiviato in modo sicuro nelle impostazioni dell'app in Azure. In questo articolo, scrivi messaggi in una coda di archiviazione all'interno dello stesso account. Per connettersi all'account Storage quando si esegue la funzione in locale, è necessario scaricare le impostazioni dell'app nel file local.settings.json.
In Solution Explorer fare clic con il pulsante destro del mouse sul project e selezionare Publish.
Nella scheda Publish in Hosting espandere i tre punti (... ) e selezionare Gestisci le impostazioni Azure App Service.
In AzureWebJobsStorage copiare il valore della stringa Remote in Local e quindi selezionare OK.
L'associazione storage, che usa l'impostazione AzureWebJobsStorage per la connessione, può ora connettersi al storage di accodamento durante l'esecuzione in locale.
Registrare le estensioni delle associazioni
Poiché si usa un'associazione di output queue storage, è necessaria l'estensione Storage bindings installata prima di eseguire il project. Ad eccezione dei trigger HTTP e timer, i binding vengono implementati come pacchetti di estensione.
Dal menu Tools selezionare NuGet Package Manager>Package Manager Console.
Nella console eseguire il comando seguente Install-Package per installare le estensioni Storage:
Install-Package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
È ora possibile aggiungere l'associazione di output storage al project.
Aggiungere un binding di output
In un project C# le associazioni vengono definite come attributi di associazione nel metodo della funzione. Definizioni specifiche dipendono dal fatto che l'app venga eseguita in-process (libreria di classi C#) o in un processo di lavoro isolato.
Aprire il file HttpExample.cs del progetto e aggiungere la seguente classe: MultiResponse
public class MultiResponse
{
[QueueOutput("outqueue", Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
La classe MultiResponse consente di scrivere in una coda di storage denominata outqueue e un messaggio http riuscito. È possibile inviare più messaggi alla coda perché l'attributo QueueOutput viene applicato a una matrice di stringhe.
La proprietà Connection imposta il connection string per l'account storage. In questo caso, è possibile omettere Connection perché si sta già usando l'account storage predefinito.
Aggiungere il codice che usa l'associazione di output
Dopo aver definito l'associazione, è possibile usare il name dell'associazione per accedervi come attributo nella firma della funzione. Usando un binding di output, non è necessario usare il codice SDK di Azure Storage per l'autenticazione, ottenere un riferimento alla coda o scrivere dati. Queste attività vengono eseguite automaticamente dal runtime di Funzioni e dal binding di output.
Sostituire il metodo esistente Run con il codice seguente:
[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
var message = "Welcome to Azure Functions!";
// Return a response to both HTTP trigger and storage output binding.
return new MultiResponse()
{
// Write a single message.
Messages = new string[] { message },
HttpResponse = new OkObjectResult(message)
};
}
Eseguire la funzione in locale
Per eseguire la funzione, premere F5 in Visual Studio. Può essere necessario abilitare un'eccezione del firewall in modo che gli strumenti possano gestire le richieste HTTP. I livelli di autorizzazione non vengono mai applicati quando si esegue una funzione in locale.
Copiare l'URL della funzione dall'output del runtime di Azure Functions.
Incollare l'URL per la richiesta HTTP nella barra degli indirizzi del browser ed eseguire la richiesta. L'immagine seguente mostra la risposta nel browser alla richiesta GET locale restituita dalla funzione:
Per arrestare il debug, premere Shift+F5 in Visual Studio.
Una nuova coda denominata outqueue viene creata nell'account storage dal runtime di Funzioni quando viene usata per la prima volta l'associazione di output. Si userà Storage Explorer per verificare che la coda sia stata creata insieme al nuovo messaggio.
Connetti Storage Explorer al tuo account
Ignorare questa sezione se è già stato installato Azure Storage Explorer e connesso all'account Azure.
Eseguire lo strumento Azure Storage Explorer, selezionare l'icona di connessione a sinistra e selezionare Aggiungi un account.
Nella finestra di dialogo Connetti scegliere Aggiungi un account Azure scegliere l'ambiente Azure e quindi selezionare Accedere in... .
Dopo aver eseguito l'accesso al tuo account, vengono visualizzati tutti gli abbonamenti di Azure associati al tuo account. Scegliere la sottoscrizione e selezionare Apri Esplora risorse.
Esaminare la coda di output
In Storage Explorer, espandi il nodo Queues e poi seleziona la coda denominata outqueue.
La coda contiene il messaggio creato dall'associazione di output della coda quando è stata eseguita la funzione attivata da HTTP. Se è stata richiamata la funzione con il valore predefinito
namedi Azure, il messaggio della coda viene Name passato alla funzione: Azure.
Eseguire di nuovo la funzione e inviare un'altra richiesta. Nella coda è visualizzato un nuovo messaggio.
È ora possibile ripubblicare l'app per le funzioni aggiornata per Azure.
Ridistribuire e verificare l'app aggiornata
In Solution Explorer fare clic con il pulsante destro del mouse sul project e selezionare Publish, quindi scegliere Publish per ripubblicare il project in Azure.
Al termine della distribuzione, è possibile usare di nuovo il browser per testare la funzione ridistribuita. Come prima, aggiungere la stringa di query
&name=<yourname>all'URL.Anche in questo caso visualizzare il messaggio nella coda storage per verificare che l'associazione di output generi nuovamente un nuovo messaggio nella coda.
Pulire le risorse
Altre guide di avvio rapido di questa raccolta si basano sulla presente guida di avvio rapido. Se si prevede di lavorare con le guide di avvio rapido successive, i tutorial o con uno qualsiasi dei servizi creati con questa guida di avvio rapido, non eliminare le risorse.
Resources in Azure si riferiscono 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 di avvio rapido sono state create risorse. Potresti essere fatturato per queste risorse, a seconda dello stato del tuo account e della tariffazione del servizio. Se le risorse non sono più necessarie, ecco come eliminarle:
Nel Azure portal 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
Hai aggiornato la tua funzione attivata da HTTP per scrivere dati in una coda di archiviazione Storage. Per altre informazioni sullo sviluppo di funzioni, vedere Develop Azure Functions using Visual Studio.To learn more about developing Functions, see Develop Azure Functions using Visual Studio.
Quindi, è consigliabile abilitare il monitoraggio di Application Insights per l'app per le funzioni: