Aggiungere messaggi a una coda di Archiviazione di Azure tramite FunzioniAdd messages to an Azure Storage queue using Functions

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 Azure Functions, input and output bindings provide a declarative way to make data from external services available to your code. 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.In this quickstart, you use an output binding to create a message in a queue when a function is triggered by an HTTP request. Per visualizzare i messaggi della coda creati dalla funzione si usa Azure Storage Explorer:You use Azure Storage Explorer to view the queue messages that your function creates:

Messaggio della coda visualizzato in Storage Explorer

prerequisitiPrerequisites

Per completare questa guida introduttiva:To complete this quickstart:

Aggiungere un'associazione di outputAdd an output binding

In questa sezione si usa l'interfaccia utente del portale per aggiungere un'associazione di output di archiviazione code alla funzione creata in precedenza.In this section, you use the portal UI to add a queue storage output binding to the function you created earlier. Questa associazione permetterà di scrivere una quantità minima di codice per creare un messaggio in una coda.This binding will make it possible to write minimal code to create a message in a queue. Non è necessario scrivere codice per attività come aprire una connessione di archiviazione, creare una coda o ottenere un riferimento a una coda.You don't have to write code for tasks such as opening a storage connection, creating a queue, or getting a reference to a queue. Queste attività vengono eseguite dal runtime di Funzioni di Azure e dall'associazione di output della coda.The Azure Functions runtime and queue output binding take care of those tasks for you.

  1. Nel portale di Azure aprire la pagina dell'app per le funzioni creata in Creare la prima funzione nel portale di Azure.In the Azure portal, open the function app page for the function app that you created in Create your first function from the Azure portal. A tale scopo, selezionare Altri servizi > App per le funzioni e quindi selezionare l'app per le funzioni.To do this, select More services > Function Apps, and then select your function app.

  2. Selezionare la funzione creata nella guida introduttiva precedente.Select the function that you created in that earlier quickstart.

  3. Selezionare Integrazione > Nuovo output > Archiviazione code di Azure.Select Integrate > New output > Azure Queue storage.

  4. Fare clic su Seleziona.Click Select.

    Aggiungere un'associazione di output di Archiviazione code a una funzione nel portale di Azure.

  5. In Azure Queue Storage output (Output archiviazione code di Azure) usare le impostazioni specificate nella tabella riportata dopo lo screenshot:Under Azure Queue Storage output, use the settings as specified in the table that follows this screenshot:

    Aggiungere un'associazione di output di Archiviazione code a una funzione nel portale di Azure.

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Nome del parametro del messaggioMessage parameter name outputQueueItemoutputQueueItem Nome del parametro di associazione di output.The name of the output binding parameter.
    Connessione dell'account di archiviazioneStorage account connection AzureWebJobsStorageAzureWebJobsStorage È possibile usare la connessione dell'account di archiviazione già usata dall'app per le funzioni oppure crearne una nuova.You can use the storage account connection already being used by your function app, or create a new one.
    Nome codaQueue name outqueueoutqueue Nome della coda a cui connettersi nell'account di archiviazione.The name of the queue to connect to in your Storage account.
  6. Fare clic su Salva per aggiungere l'associazione.Click Save to add the binding.

Dopo aver definito un'associazione di output, è necessario ora aggiornare il codice in modo da usare l'associazione per aggiungere messaggi a una coda.Now that you have an output binding defined, you need to update the code to use the binding to add messages to a queue.

Aggiungere il codice che usa l'associazione di outputAdd code that uses the output binding

In questa sezione si aggiunge il codice che scrive un messaggio nella coda di output.In this section, you add code that writes a message to the output queue. Il messaggio include il valore passato al trigger HTTP nella stringa di query.The message includes the value that is passed to the HTTP trigger in the query string. Se, ad esempio, la stringa di query include name=Azure, il messaggio della coda sarà Name passed to the function: Azure.For example, if the query string includes name=Azure, the queue message will be Name passed to the function: Azure.

  1. Selezionare la funzione per visualizzare il codice funzione nell'editor.Select your function to display the function code in the editor.

  2. Per una funzione C#, aggiungere un parametro del metodo per l'associazione e scrivere codice per usarla:For a C# function, add a method parameter for the binding and write code to use it:

    Aggiungere un parametro outputQueueItem alla firma del metodo come illustrato nell'esempio seguente.Add an outputQueueItem parameter to the method signature as shown in the following example. Il nome del parametro è lo stesso immesso in Nome del parametro del messaggio al momento della creazione dell'associazione.The parameter name is the same as what you entered for Message parameter name when you created the binding.

    public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, 
        ICollector<string> outputQueueItem, TraceWriter log)
    {
        ...
    }
    

    Nel corpo della funzione C#, subito prima dell'istruzione return, aggiungere il codice che usa il parametro per creare un messaggio della coda.In the body of the C# function just before the return statement, add code that uses the parameter to create a queue message.

    outputQueueItem.Add("Name passed to the function: " + name);     
    
  3. Per una funzione JavaScript, aggiungere il codice che usa l'associazione di output nell'oggetto context.bindings per creare un messaggio della coda.For a JavaScript function, add code that uses the output binding on the context.bindings object to create a queue message. Aggiungere questo codice prima dell'istruzione context.done.Add this code before thecontext.done statement.

    context.bindings.outputQueueItem = "Name passed to the function: " + 
                (req.query.name || req.body.name);
    
  4. Selezionare Salva per salvare le modifiche.Select Save to save changes.

Testare la funzioneTest the function

  1. Dopo aver salvato le modifiche al codice, selezionare Esegui.After the code changes are saved, select Run.

    Aggiungere un'associazione di output di Archiviazione code a una funzione nel portale di Azure.

    Si noti che in Corpo della richiesta è presente il valore di name Azure.Notice that the Request body contains the name value Azure. Questo valore viene visualizzato nel messaggio della coda creato quando viene richiamata la funzione.This value appears in the queue message that is created when the function is invoked.

    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.As an alternative to selecting Run here, you can call the function by entering a URL in a browser and specifying the name value in the query string. Il metodo tramite browser è illustrato nella guida introduttiva precedente.The browser method is shown in the previous quickstart.

  2. Controllare i log per assicurarsi che la funzione abbia avuto esito positivo.Check the logs to make sure that the function succeeded.

Quando l'associazione di output viene usata per la prima volta, nell'account di archiviazione viene creata dal runtime Funzioni una nuova coda denominata outqueue.A new queue named outqueue is created in your Storage account by the Functions runtime when the output binding is first used. Si userà Storage Explorer per verificare che siano stati creati la coda e un messaggio al suo interno.You'll use Storage Explorer to verify that the queue and a message in it were created.

Connettere Storage Explorer all'accountConnect Storage Explorer to your account

Se Storage Explorer è già stato installato e connesso all'account di archiviazione in uso in questa guida introduttiva, ignorare questa sezione.Skip this section if you have already installed Storage Explorer and connected it to the storage account that you're using with this quickstart.

  1. Eseguire lo strumento Microsoft Azure Storage Explorer, selezionare l'icona di connessione a sinistra, scegliere Use a storage account name and key (Usare il nome e la chiave di un account di archiviazione) e selezionare Avanti.Run the Microsoft Azure Storage Explorer tool, select the connect icon on the left, choose Use a storage account name and key, and select Next.

    Eseguire lo strumento di esplorazione dell'account di archiviazione.

  2. Nel portale di Azure, nella pagina dell'app per le funzioni, selezionare la funzione e quindi Integrazione.In the Azure portal, on the function app page, select your function and then select Integrate.

  3. Selezionare l'associazione di output di Archiviazione code di Azure aggiunta in un passaggio precedente.Select the Azure Queue storage output binding that you added in an earlier step.

  4. Espandere la sezione Documentazione nella parte inferiore della pagina.Expand the Documentation section at the bottom of the page.

    Il portale mostra le credenziali che è possibile usare in Storage Explorer per connettersi all'account di archiviazione.The portal shows credentials that you can use in Storage Explorer to connect to the storage account.

    Ottenere le credenziali per la connessione all'account di archiviazione.

  5. Copiare il valore di Nome account dal portale e incollarlo nella casella Nome account in Storage Explorer.Copy the Account Name value from the portal and paste it in the Account name box in Storage Explorer.

  6. Fare clic sull'icona Mostra/Nascondi accanto a Chiave account per visualizzare il valore e quindi copiare il valore di Chiave account e incollarlo nella casella Chiave account in Storage Explorer.Click the show/hide icon next to Account Key to display the value, and then copy the Account Key value and paste it in the Account key box in Storage Explorer.

  7. Selezionare Avanti > Connetti.Select Next > Connect.

    Incollare le credenziali di archiviazione ed eseguire la connessione.

Esaminare la coda di outputExamine the output queue

  1. In Storage Explorer selezionare l'account di archiviazione in uso in questa guida rapida.In Storage Explorer, select the storage account that you're using for this quickstart.

  2. Espandere il nodo Code e quindi selezionare la coda denominata outqueue.Expand the Queues node, and then select the queue named outqueue.

    La coda contiene il messaggio creato dall'associazione di output della coda quando è stata eseguita la funzione attivata da HTTP.The queue contains the message that the queue output binding created when you ran the HTTP-triggered function. Se la funzione è stata richiamata con il valore predefinito di name Azure, il messaggio della coda è Name passed to the function: Azure.If you invoked the function with the default name value of Azure, the queue message is Name passed to the function: Azure.

    Messaggio della coda visualizzato in Storage Explorer

  3. Eseguire nuovamente la funzione e verrà visualizzato un nuovo messaggio nella coda.Run the function again, and you'll see a new message appear in the queue.

Pulire le risorseClean up resources

Altre guide introduttive di questa raccolta si basano sui valori di questa guida introduttiva.Other quick starts in this collection build upon this quick start. Se si prevede di continuare a usare le guide introduttive successive o i servizi creati con questa guida introduttiva, non eseguire la pulizia delle risorse.If you plan to work with subsequent quick starts, tutorials, or with any of the services you have created in this quick start, do not clean up the resources.

Il termine risorse in Azure si riferisce ad app per le funzioni, funzioni, account di archiviazione e così via.Resources in Azure refers to function apps, functions, storage accounts, and so forth. Le risorse sono raggruppate in gruppi di risorse, ed è possibile eliminare tutti gli elementi in un gruppo eliminando il gruppo.They are grouped into resource groups, and you can delete everything in a group by deleting the group.

Per completare queste guide introduttive sono state create risorse.You created resources to complete these quickstarts. Per tali risorse potrebbero venire addebitati costi, a seconda dello stato dell'account e dei prezzi dei servizi.You may be billed for these resources, depending on your account status and service pricing. Se le risorse non sono più necessarie, ecco come eliminarle:If you don't need the resources anymore, here's how to delete them:

  1. Nel portale di Azure passare alla pagina Gruppo di risorse.In the Azure portal, go to the Resource group page.

    Per visualizzare tale pagina dalla pagina dell'app per le funzioni, selezionare la scheda Panoramica e quindi selezionare il collegamento sotto Gruppo di risorse.To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

    Selezionare il gruppo di risorse da eliminare dalla pagina dell'app per le funzioni.

    Per visualizzare tale pagina dal dashboard, selezionare Gruppi di risorse e quindi selezionare il gruppo di risorse usato nella guida introduttiva.To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  3. Selezionare Elimina gruppo di risorse e seguire le istruzioni.Select Delete resource group, and follow the instructions.

    L'eliminazione potrebbe richiedere alcuni minuti.Deletion may take a couple of minutes. Al termine, viene visualizzata una notifica per pochi secondi.When it's done, a notification appears for a few seconds. È anche possibile selezionare l'icona a forma di campana nella parte superiore della pagina per visualizzare la notifica.You can also select the bell icon at the top of the page to view the notification.

Passaggi successiviNext steps

In questa guida introduttiva è stata aggiunta un'associazione di output a una funzione esistente.In this quickstart, you added an output binding to an existing function. Per altre informazioni sull'associazione all'archiviazione code, vedere Associazioni della coda dell'archiviazione di Funzioni di Azure.For more information about binding to Queue storage, see Azure Functions Storage queue bindings.

Informazioni su come creare funzioni con altri tipi di trigger o come integrare funzioni con altri servizi di Azure.Learn how to create functions with other kinds of triggers or how to integrate functions with other Azure services.