Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan küldhet e-maileket SendGrid-kötésekkel az Azure Functionsben. Az Azure Functions támogatja a SendGrid kimeneti kötését.
Ezek az Azure Functions-fejlesztők referenciaadatai. Ha még nem használja az Azure Functionst, kezdje a következő erőforrásokkal:
C# fejlesztői hivatkozások:
A bővítmény telepítése
A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:
A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.
A bővítmény funkciói a bővítmény verziójától függően változnak:
Adja hozzá a bővítményt a projekthez a NuGet-csomag 3.x-es verziójának telepítésével.
Csomag telepítése
Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.
Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.
Example
C# függvényt az alábbi C# módok egyikével hozhat létre:
- Izolált feldolgozómodell: Lefordított C# függvény, amely a futtatókörnyezettől elkülönített feldolgozói folyamatban fut. Izolált feldolgozói folyamat szükséges a hosszú távú támogatáson (LTS) futó C# függvények támogatásához, valamint a .NET és a .NET-keretrendszer nem LTS-verzióihoz.
- Folyamatban lévő modell: Lefordított C# függvény, amely ugyanabban a folyamatban fut, mint az Azure Functions futtatókörnyezete.
- C#-szkript: Elsősorban C#-függvények Azure Portalon való létrehozásakor használatos.
Important
A folyamaton belüli modell támogatása 2026. november 10-én megszűnik. Erősen javasoljuk, hogy az alkalmazásokat az elkülönített feldolgozói modellbe migrálja a teljes támogatás érdekében.
Jelenleg nincs példa a SendGrid-kötés használatára egy elkülönített feldolgozói folyamatban futó függvényalkalmazásban.
Az alábbi példa egy SendGrid kimeneti kötést mutat be egy function.json fájlban, valamint egy JavaScript-függvényt , amely a kötést használja.
A kötési adatok afunction.jsonfájlban:
{
"bindings": [
{
"name": "$return",
"type": "sendGrid",
"direction": "out",
"apiKey" : "MySendGridKey",
"to": "{ToEmail}",
"from": "{FromEmail}",
"subject": "SendGrid output bindings"
}
]
}
A konfigurációs szakasz ezeket a tulajdonságokat ismerteti.
A JavaScript-kód a következő:
module.exports = function (context, input) {
var message = {
"personalizations": [ { "to": [ { "email": "sample@sample.com" } ] } ],
from: { email: "sender@contoso.com" },
subject: "Azure news",
content: [{
type: 'text/plain',
value: input
}]
};
return message;
};
A Teljes PowerShell-példák jelenleg nem érhetők el a SendGrid-kötésekhez.
Az alábbi példa egy HTTP-aktivált függvényt mutat be, amely e-mailt küld a SendGrid-kötés használatával. A kötéskonfigurációban megadhat alapértelmezett értékeket. A feladó e-mail-címe például function.jsonvan konfigurálva.
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "httpTrigger",
"authLevel": "function",
"direction": "in",
"name": "req",
"methods": ["get", "post"]
},
{
"type": "http",
"direction": "out",
"name": "$return"
},
{
"type": "sendGrid",
"name": "sendGridMessage",
"direction": "out",
"apiKey": "SendGrid_API_Key",
"from": "sender@contoso.com"
}
]
}
Az alábbi függvény bemutatja, hogyan adhat meg egyéni értékeket az opcionális tulajdonságokhoz.
import logging
import json
import azure.functions as func
def main(req: func.HttpRequest, sendGridMessage: func.Out[str]) -> func.HttpResponse:
value = "Sent from Azure Functions"
message = {
"personalizations": [ {
"to": [{
"email": "user@contoso.com"
}]}],
"subject": "Azure Functions email with SendGrid",
"content": [{
"type": "text/plain",
"value": value }]}
sendGridMessage.set(json.dumps(message))
return func.HttpResponse(f"Sent")
Az alábbi példa a @SendGridOutput Java-függvények futtatókörnyezeti kódtárának megjegyzésével küld e-mailt a SendGrid kimeneti kötés használatával.
package com.function;
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
public class HttpTriggerSendGrid {
@FunctionName("HttpTriggerSendGrid")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = { HttpMethod.GET, HttpMethod.POST },
authLevel = AuthorizationLevel.FUNCTION)
HttpRequestMessage<Optional<String>> request,
@SendGridOutput(
name = "message",
dataType = "String",
apiKey = "SendGrid_API_Key",
to = "user@contoso.com",
from = "sender@contoso.com",
subject = "Azure Functions email with SendGrid",
text = "Sent from Azure Functions")
OutputBinding<String> message,
final ExecutionContext context) {
final String toAddress = "user@contoso.com";
final String value = "Sent from Azure Functions";
StringBuilder builder = new StringBuilder()
.append("{")
.append("\"personalizations\": [{ \"to\": [{ \"email\": \"%s\"}]}],")
.append("\"content\": [{\"type\": \"text/plain\", \"value\": \"%s\"}]")
.append("}");
final String body = String.format(builder.toString(), toAddress, value);
message.setValue(body);
return request.createResponseBuilder(HttpStatus.OK).body("Sent").build();
}
}
Attributes
A folyamaton belüli és az izolált feldolgozói folyamat C#-kódtárai attribútumokkal határozzák meg a kimeneti kötést. A C#-szkript ehelyett function.json konfigurációs fájlt használ.
Izolált feldolgozói folyamatfüggvény-alkalmazásokban a SendGridOutputAttribute következő paraméterek támogatottak:
| Attribútum/széljegyzet tulajdonság | Description |
|---|---|
| ApiKey | Az API-kulcsot tartalmazó alkalmazásbeállítás neve. Ha nincs beállítva, az alapértelmezett alkalmazásbeállítás neve .AzureWebJobsSendGridApiKey |
| To | (Nem kötelező) A címzett e-mail-címe. |
| From | (Nem kötelező) A feladó e-mail-címe. |
| Subject | (Nem kötelező) Az e-mail tárgya. |
| Text | (Nem kötelező) Az e-mail tartalma. |
Annotations
A SendGridOutput megjegyzés lehetővé teszi a SendGrid-kötés deklaratív konfigurálását az alábbi konfigurációs értékek megadásával.
Configuration
Az alábbi táblázat a function.json fájlban elérhető kötéskonfigurációs tulajdonságokat és az SendGrid attribútumot/széljegyzetet sorolja fel.
| function.json tulajdonság | Description |
|---|---|
| type | A beállításnak a sendGridkövetkezőnek kell lennie: . |
| direction | A beállításnak a outkövetkezőnek kell lennie: . |
| name | A kérelem vagy a kérelem törzsének függvénykódjában használt változónév. Ez az érték akkor van $return , ha csak egy visszatérési érték van. |
| apiKey | Az API-kulcsot tartalmazó alkalmazásbeállítás neve. Ha nincs beállítva, az alapértelmezett alkalmazásbeállítás neve AzureWebJobsSendGridApiKey. |
| to | (Nem kötelező) A címzett e-mail-címe. |
| from | (Nem kötelező) A feladó e-mail-címe. |
| subject | (Nem kötelező) Az e-mail tárgya. |
| text | (Nem kötelező) Az e-mail tartalma. |
Előfordulhat, hogy a választható tulajdonságok alapértelmezett értékeket határoznak meg a kötésben, és programozott módon vannak hozzáadva vagy felülírva.
Helyi fejlesztéskor adja hozzá az alkalmazásbeállításokat a gyűjtemény local.settings.json fájljáhozValues.
host.json beállítások
Ez a szakasz a kötéshez elérhető konfigurációs beállításokat ismerteti a 2.x és újabb verzióban. A host.json fájl beállításai a függvényalkalmazás-példány összes függvényére vonatkoznak. A függvényalkalmazás konfigurációs beállításaival kapcsolatos további információkért lásd host.json Azure Functionsre vonatkozó referenciát.
Note
A Host.json a Functions 1.x-ben az Azure Functions 1.x host.json referenciájában talál.
{
"version": "2.0",
"extensions": {
"sendGrid": {
"from": "Azure Functions <samples@functions.com>"
}
}
}
| Property | Default | Description |
|---|---|---|
| from | n/a | A feladó e-mail-címe az összes függvényben. |