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 questa guida introduttiva viene usata un'associazione di output per creare un messaggio in una coda quando viene attivata una funzione da una richiesta HTTP. Per visualizzare i messaggi della coda creati dalla funzione si usa il contenitore di archiviazione di Azure.

Prerequisiti

Per completare questa guida introduttiva:

Aggiungere un binding di output

In questa sezione si usa l'interfaccia utente del portale per aggiungere un'associazione di output di archiviazione code alla funzione creata in precedenza. Questo binding consente di scrivere una quantità minima di codice per creare un messaggio in una coda. Non è necessario scrivere codice per attività come aprire una connessione di archiviazione, creare una coda o ottenere un riferimento a una coda. Queste attività vengono eseguite dal runtime di Funzioni di Azure e dall'associazione di output della coda.

  1. Nel portale di Azure aprire la pagina dell'app per le funzioni creata in Creare la prima funzione nel portale di Azure. A tale scopo, aprire la pagina, cercare e selezionare App per le funzioni. Selezionare quindi l'app per le funzioni.

  2. Selezionare l'app per le funzioni e quindi la funzione creata nella guida di avvio rapido precedente.

  3. Selezionare Integrazione e quindi + Aggiungi output.

    Creare un binding di output per la funzione.

  4. Selezionare il tipo di binding archiviazione code di Azure e aggiungere le impostazioni specificate nella tabella riportata dopo lo screenshot:

    Aggiungere un binding di output di archiviazione code a una funzione nel portale di Azure.

    Impostazione Valore consigliato Descrizione
    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 già usata dall'app per le funzioni oppure crearne una nuova.
  5. 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. Se, ad esempio, la stringa di query include name=Azure, il messaggio della coda sarà Name passed to the function: Azure.

  1. Nella funzione selezionare Codice e test per visualizzare il codice funzione nell'editor.

  2. Aggiornare il codice della funzione a seconda del linguaggio della 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 della coda.

    outputQueueItem.Add("Name passed to the function: " + name);
    
  3. Selezionare Salva per salvare le modifiche.

Testare la funzione

  1. Dopo aver salvato le modifiche al codice, selezionare Test.

  2. Verificare che il test corrisponda all'immagine seguente e selezionare Esegui.

    Testare il binding di archiviazione della coda nel portale di Azure.

    Si noti che in Corpo della richiesta è presente il valore di nameAzure. Questo valore viene visualizzato nel messaggio della coda creato quando viene richiamata la funzione.

    Al posto di fare clic su Esegui, in questo caso è possibile chiamare la funzione immettendo un URL in un browser e specificando il valore di name nella stringa di query. Il metodo tramite browser è illustrato nella guida introduttiva precedente.

  3. 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 Funzioni una nuova coda denominata outqueue. Per verificare che siano stati creati la coda e un messaggio al suo interno, si userà l'account di archiviazione.

Trovare l'account di archiviazione connesso ad AzureWebJobsStorage

  1. Passare all'app per le funzioni e selezionare Configurazione.

  2. In Impostazioni applicazione selezionare AzureWebJobsStorage.

    Screenshot che mostra la pagina Configurazione con AzureWebJobsStorage selezionata.

  3. Trovare e prendere nota del nome dell'account.

    Trovare l'account di archiviazione connesso ad AzureWebJobsStorage.

Esaminare la coda di output

  1. Nel gruppo di risorse dell'app per le funzioni selezionare l'account di archiviazione in uso in questa guida di avvio rapido.

  2. In Servizio di accodamento selezionare Code e quindi 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 nameAzure, il messaggio della coda è Name passed to the function: Azure.

  3. Eseguire nuovamente la funzione e verrà visualizzato 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 usare le guide introduttive, le esercitazioni successive o con uno dei servizi creati in questa guida introduttiva, non pulire le 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.

Sono state create risorse per completare queste guide introduttive. È possibile fatturare queste risorse, a seconda dello stato dell'account e dei prezzi del servizio. Se le risorse non sono più necessarie, ecco come eliminarle:

  1. Nel portale di Azure passare alla pagina Gruppo di risorse.

    Per accedere a tale pagina dalla pagina dell'app per le funzioni, selezionare la scheda Panoramica e quindi selezionare il collegamento in Gruppo di risorse.

    Screenshot che mostra la selezione del gruppo di risorse da eliminare dalla pagina dell'app per le funzioni.

    Per accedere a tale pagina dal dashboard, selezionare Gruppi di risorse e quindi selezionare il gruppo di risorse usato per questo articolo.

  2. Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.

  3. 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

In questa guida introduttiva è stata aggiunta un'associazione di output a una funzione esistente. Per altre informazioni sul binding all'archiviazione code, vedere Associazioni della coda dell'archiviazione di Funzioni di Azure.