Aggiungere messaggi a una coda di archiviazione di Azure tramite Funzioni
In Funzioni di Azure le associazioni di input e di output forniscono una modalità dichiarativa per rendere disponibili nel codice i dati di servizi esterni. In questo articolo si usa un'associazione di output per creare un messaggio in una coda quando una richiesta HTTP attiva una funzione. Per visualizzare i messaggi della coda creati dalla funzione si usa il contenitore di archiviazione di Azure.
Prerequisiti
Una sottoscrizione di Azure. Se non se ne dispone, creare un account gratuito prima di iniziare.
Seguire le istruzioni riportate in Creare la prima funzione nel portale di Azure, omettendo il passaggio Pulire le risorse, per creare l'app per le funzioni e la funzione da usare in questo articolo.
Aggiungere un binding di output
In questa sezione si usa l'interfaccia utente del portale per aggiungere un'associazione di output di Archiviazione code di Azure alla funzione creata nei prerequisiti. Questo binding consente di scrivere una quantità minima di codice per creare un messaggio in una coda. Non è necessario scrivere codice per attività come l'apertura di una connessione di archiviazione, la creazione di una coda o il recupero di un riferimento a una coda. Queste attività vengono eseguite dal runtime di Funzioni di Azure e dall'associazione di output della coda.
Nella portale di Azure cercare e selezionare l'app per le funzioni creata in Creare la prima funzione dal portale di Azure.
Nell'app per le funzioni selezionare la funzione creata.
Selezionare Integrazione e quindi + Aggiungi output.
Selezionare il tipo di associazione archiviazione code di Azure e aggiungere le impostazioni come specificato nella tabella seguente:
Impostazione Valore suggerito description Nome del parametro del messaggio outputQueueItem Nome del parametro di binding di output. Nome coda outqueue Nome della coda a cui connettersi nell'account di archiviazione. Connessione dell'account di archiviazione AzureWebJobsStorage È possibile usare la connessione dell'account di archiviazione esistente usata dall'app per le funzioni o crearne una nuova. Selezionare OK per aggiungere il binding.
Dopo aver definito un binding di output, è necessario ora aggiornare il codice in modo da usare il binding per aggiungere messaggi a una coda.
Aggiungere il codice che usa l'associazione di output
In questa sezione si aggiunge il codice che scrive un messaggio nella coda di output. Il messaggio include il valore passato al trigger HTTP nella stringa di query. Ad esempio, se la stringa di query include name=Azure
, il messaggio della coda è Name passato alla funzione: Azure.
Nella funzione selezionare Codice e test per visualizzare il codice funzione nell'editor.
Aggiornare il codice della funzione in base al linguaggio di funzione:
Aggiungere un parametro outputQueueItem alla firma del metodo come illustrato nell'esempio seguente:
public static async Task<IActionResult> Run(HttpRequest req, ICollector<string> outputQueueItem, ILogger log) { ... }
Nel corpo della funzione, subito prima dell'istruzione
return
, aggiungere il codice che usa il parametro per creare un messaggio di coda:outputQueueItem.Add("Name passed to the function: " + name);
Seleziona Salva per salvare le modifiche.
Testare la funzione
Dopo aver salvato le modifiche al codice, selezionare Test.
Verificare che il test corrisponda a questo screenshot e quindi selezionare Esegui.
Si noti che in Corpo della richiesta è presente il valore di
name
Azure. Questo valore viene visualizzato nel messaggio della coda creato quando viene richiamata la funzione.In alternativa alla selezione di Esegui, è possibile chiamare la funzione immettendo un URL in un browser e specificando il
name
valore nella stringa di query. Questo metodo del browser viene visualizzato in Creare la prima funzione dal portale di Azure.Controllare i log per assicurarsi che la funzione abbia avuto esito positivo.
Quando il binding di output viene usato per la prima volta, nell'account di archiviazione viene creata dal runtime di Funzioni una nuova coda denominata outqueue. Usare l'account di archiviazione per verificare che la coda e un messaggio in esso siano stati creati.
Trovare l'account di archiviazione connesso ad AzureWebJobsStorage
Nell'app per le funzioni, espandere Impostazionie selezionare Variabili di ambiente.
Nella scheda Impostazioni app selezionare AzureWebJobsStorage.
Trovare e prendere nota del nome dell'account.
Esaminare la coda di output
Nel gruppo di risorse per l'app per le funzioni selezionare l'account di archiviazione in uso.
In Servizio code selezionare Code e selezionare 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 la funzione è stata richiamata con il valore predefinito di
name
Azure, il messaggio della coda è Name passed to the function: Azure.Eseguire di nuovo la funzione.
Nella coda viene visualizzato un nuovo messaggio.
Pulire le risorse
Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.
Nel menu del portale di Azure o nella pagina Home selezionare Gruppi di risorse. Quindi, nella pagina Gruppi di risorse selezionare myResourceGroup.
Nella pagina myResourceGroup assicurarsi che le risorse elencate siano quelle da eliminare.
Selezionare Elimina gruppo di risorse, digitare myResourceGroup nella casella di testo per confermare e quindi selezionare Elimina.
Contenuto correlato
In questo articolo è stata aggiunta un'associazione di output a una funzione esistente. Per altre informazioni sull'associazione all'archiviazione code, vedere Binding e trigger di archiviazione code.
- Concetti relativi a trigger e associazioni in Funzioni di Azure
Informazioni su come Funzioni si integra con altri servizi. - Guida di riferimento per gli sviluppatori a Funzioni di Azure
Include informazioni più tecniche sul runtime di Funzioni, nonché informazioni di riferimento per la codifica di funzioni e la definizione di trigger e associazioni. - Scrivere codici per Funzioni di Azure e testarle in locale
Descrive le opzioni per lo sviluppo di funzioni in locale.