Associazioni di SendGrid di Funzioni di Azure

Questo articolo illustra come configurare e usare le associazioni SendGrid in Funzioni di Azure. Con Sendgrid è possibile usare Funzioni di Azure per inviare messaggi di posta elettronica personalizzati a livello programmatico.

Questo articolo contiene le informazioni di riferimento per gli sviluppatori di Funzioni di Azure. Se non si ha familiarità con le Funzioni di Azure, iniziare con le seguenti risorse:

Creare la prima funzione di Azure. Informazioni di riferimento per sviluppatori su C#, F# o Node.

function.json per associazioni di SendGrid

Funzioni di Azure offre associazioni di output per SendGrid. L'associazione di output di SendGrid consente di creare e inviare messaggi di posta elettronica a livello programmatico.

L'associazione SendGrid supporta le proprietà seguenti:

  • name: obbligatoria. Nome della variabile usato nel codice della funzione per la richiesta o il corpo della richiesta. Questo valore è $return quando viene restituito un solo valore.
  • type: obbligatoria. Deve essere impostata su "sendGrid".
  • direction: obbligatoria. Deve essere impostata su "out".
  • apiKey: obbligatoria. Deve essere impostato sul nome della chiave API archiviato nelle impostazioni app dell'app per le funzioni.
  • to: indirizzo di posta elettronica del destinatario.
  • from: indirizzo di posta elettronica del mittente.
  • subject: l'oggetto del messaggio di posta elettronica.
  • text: il contenuto del messaggio di posta elettronica.

function.json di esempio:

{
    "bindings": [
        {
            "name": "$return",
            "type": "sendGrid",
            "direction": "out",
            "apiKey" : "MySendGridKey",
            "to": "{ToEmail}",
            "from": "{FromEmail}",
            "subject": "SendGrid output bindings"
        }
    ]
}
Nota

Funzioni di Azure archivia le informazioni di connessione e le chiavi API come impostazioni dell'app in modo che non vengano controllate nel repository di controllo del codice sorgente. In questo modo viene garantita la protezione delle informazioni riservate.

C# di esempio dell'associazione di output SendGrid

#r "SendGrid"
using System;
using SendGrid.Helpers.Mail;

public static Mail Run(TraceWriter log, string input, out Mail message)
{
     message = new Mail
    {        
        Subject = "Azure news"          
    };

    var personalization = new Personalization();
    personalization.AddTo(new Email("recipient@contoso.com"));   

    Content content = new Content
    {
        Type = "text/plain",
        Value = input
    };
    message.AddContent(content);
    message.AddPersonalization(personalization);
}

Nodo di esempio dell'associazione di output SendGrid

module.exports = function (context, input) {    
    var message = {
         "personalizations": [ { "to": [ { "email": "sample@sample.com" } ] } ],
        from: "sender@contoso.com",        
        subject: "Azure news",
        content: [{
            type: 'text/plain',
            value: input
        }]
    };

    context.done(null, message);
};

Passaggi successivi

Per informazioni sulle altre associazioni e i trigger per Funzioni di Azure, vedere