Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Tento článek vysvětluje, jak odesílat textové zprávy pomocí vazeb Twilio ve službě Azure Functions. Azure Functions podporuje výstupní vazby pro Twilio.
Toto jsou referenční informace pro vývojáře Azure Functions. Pokud s Azure Functions začínáte, začněte s následujícími prostředky:
Referenční informace pro vývojáře jazyka C#:
Balíček NuGet rozšíření, který nainstalujete, závisí na režimu jazyka C#, který používáte ve své aplikaci funkcí:
Funkce se spouštějí v izolovaném pracovním procesu C#. Další informace najdete v průvodci spuštěním služby Azure Functions v jazyce C# v izolovaném pracovním procesu.
Funkce rozšíření se liší v závislosti na verzi rozšíření:
V současné době pro aplikaci izolovaného pracovního procesu neexistuje žádná podpora pro Twilio.
Počínaje funkcí verze 2.x je rozšíření HTTP součástí sady rozšíření, která je zadaná v souboru projektu host.json. Další informace najdete v sadě rozšíření.
Tato verze rozšíření by už měla být dostupná pro vaši aplikaci funkcí s sadou rozšíření verze 2.x.
Pokud není uvedeno jinak, jsou tyto příklady specifické pro verzi 2.x a novější verzi modulu runtime Functions.
Funkci jazyka C# je možné vytvořit pomocí jednoho z následujících režimů jazyka C#:
Důležité
Podpora modelu v procesu skončí 10. listopadu 2026. Důrazně doporučujeme migrovat aplikace do izolovaného modelu pracovního procesu pro plnou podporu.
Vazba Twilio se v současné době nepodporuje pro aplikaci funkcí spuštěnou v izolovaném pracovním procesu.
Následující příklad ukazuje výstupní vazbu Twilio v souboru function.json a funkci JavaScriptu, která používá vazbu.
Tady jsou data vazby v souboru function.json :
Příklad function.json:
{
"type": "twilioSms",
"name": "message",
"accountSidSetting": "TwilioAccountSid",
"authTokenSetting": "TwilioAuthToken",
"from": "+1425XXXXXXX",
"direction": "out",
"body": "Azure Functions Testing"
}
Tady je javascriptový kód:
module.exports = async function (context, myQueueItem) {
context.log('Node.js queue trigger function processed work item', myQueueItem);
// In this example the queue item is a JSON string representing an order that contains the name of a
// customer and a mobile number to send text updates to.
var msg = "Hello " + myQueueItem.name + ", thank you for your order.";
// Even if you want to use a hard coded message in the binding, you must at least
// initialize the message binding.
context.bindings.message = {};
// A dynamic message can be set instead of the body in the output binding. The "To" number
// must be specified in code.
context.bindings.message = {
body : msg,
to : myQueueItem.mobileNumber
};
};
Kompletní příklady PowerShellu nejsou aktuálně k dispozici pro vazby SendGrid.
Následující příklad ukazuje, jak odeslat zprávu SMS pomocí výstupní vazby definované v následujícím function.json.
{
"type": "twilioSms",
"name": "twilioMessage",
"accountSidSetting": "TwilioAccountSID",
"authTokenSetting": "TwilioAuthToken",
"from": "+1XXXXXXXXXX",
"direction": "out",
"body": "Azure Functions Testing"
}
Serializovaný objekt JSON můžete předat parametru func.Out
pro odeslání zprávy SMS.
import logging
import json
import azure.functions as func
def main(req: func.HttpRequest, twilioMessage: func.Out[str]) -> func.HttpResponse:
message = req.params.get('message')
to = req.params.get('to')
value = {
"body": message,
"to": to
}
twilioMessage.set(json.dumps(value))
return func.HttpResponse(f"Message sent")
Následující příklad ukazuje, jak pomocí poznámky TwilioSmsOutput odeslat zprávu SMS. Hodnoty pro to
, from
a body
jsou požadovány v definici atributu, i když je přepíšete programově.
package com.function;
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
public class TwilioOutput {
@FunctionName("TwilioOutput")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = { HttpMethod.GET, HttpMethod.POST },
authLevel = AuthorizationLevel.FUNCTION) HttpRequestMessage<Optional<String>> request,
@TwilioSmsOutput(
name = "twilioMessage",
accountSid = "AzureWebJobsTwilioAccountSID",
authToken = "AzureWebJobsTwilioAuthToken",
to = "+1XXXXXXXXXX",
body = "From Azure Functions",
from = "+1XXXXXXXXXX") OutputBinding<String> twilioMessage,
final ExecutionContext context) {
String message = request.getQueryParameters().get("message");
String to = request.getQueryParameters().get("to");
StringBuilder builder = new StringBuilder()
.append("{")
.append("\"body\": \"%s\",")
.append("\"to\": \"%s\"")
.append("}");
final String body = String.format(builder.toString(), message, to);
twilioMessage.setValue(body);
return request.createResponseBuilder(HttpStatus.OK).body("Message sent").build();
}
}
Knihovny C# v procesu i izolovaného pracovního procesu používají atributy k definování výstupní vazby. Skript jazyka C# místo toho používá konfigurační soubor function.json.
Vazba Twilio se v současné době nepodporuje pro aplikaci funkcí spuštěnou v izolovaném pracovním procesu.
Poznámka TwilioSmsOutput umožňuje deklarativní konfiguraci výstupní vazby Twilio zadáním následujících hodnot konfigurace:
+
Umístěte poznámku TwilioSmsOutput na OutputBinding<T>
parametr, kde T
může být jakýkoli nativní typ Javy, například int
, String
, byte[]
nebo typ POJO.
Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souboru function.json , které se liší podle verze modulu runtime:
vlastnost function.json | Popis |
---|---|
type | musí být nastavena na twilioSms hodnotu . |
direction | musí být nastavena na out hodnotu . |
Jméno | Název proměnné použitý v kódu funkce pro textovou zprávu Twilio SMS. |
accountSidSetting | Tato hodnota musí být nastavena na název nastavení aplikace, které obsahuje sid účtu Twilio (TwilioAccountSid ). Pokud není nastavená, výchozí název nastavení aplikace je AzureWebJobsTwilioAccountSid . |
authTokenSetting | Tato hodnota musí být nastavená na název nastavení aplikace, které obsahuje ověřovací token Twilio (TwilioAccountAuthToken ). Pokud není nastavená, výchozí název nastavení aplikace je AzureWebJobsTwilioAuthToken . |
od | Tato hodnota je nastavená na telefonní číslo, ze kterého se posílá text SMS. |
tělo | Tuto hodnotu můžete použít k pevnému kódování textové zprávy SMS, pokud ji nepotřebujete dynamicky nastavovat v kódu pro vaši funkci. |
Ve verzi 2.x nastavíte to
hodnotu v kódu.
Při místním vývoji přidejte nastavení aplikace do souboru local.settings.json v kolekci Values
.
Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
Zaregistrovat