Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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#:
Nainstalovat rozšíření
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.
Instalace sady
Pokud chcete v aplikaci použít toto rozšíření vazeb, ujistěte se, že soubor host.json v kořenovém adresáři projektu obsahuje tento extensionBundle odkaz:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
V tomto příkladu version hodnota [4.0.0, 5.0.0) dává hostiteli Functions pokyn, aby používal verzi sady, která je alespoň 4.0.0 , ale menší než 5.0.0, která zahrnuje všechny potenciální verze 4.x. Tato notace efektivně udržuje vaši aplikaci na nejnovější dostupné podverzi sady rozšíření v4.x.
Pokud je to možné, měli byste použít nejnovější hlavní verzi sady rozšíření a umožnit modulu runtime automaticky udržovat nejnovější podverzi. Obsah nejnovější sady můžete zobrazit na stránce verze sady rozšíření. Další informace najdete v sadách rozšíření Azure Functions.
Example
Pokud není uvedeno jinak, jsou tyto příklady specifické pro verzi 2.x a novější verzi modulu runtime Functions.
Funkci jazyka C# můžete vytvořit pomocí jednoho z následujících režimů jazyka C#:
- Izolovaný model pracovního procesu: Kompilovaná funkce jazyka C#, která běží v pracovním procesu, který je izolovaný od modulu runtime. Izolovaný pracovní proces se vyžaduje pro podporu funkcí jazyka C# běžících na dlouhodobé podpoře (LTS) a jiných verzích než LTS pro .NET a rozhraní .NET Framework.
- Model v procesu: Zkompilovaná funkce jazyka C#, která běží ve stejném procesu jako modul runtime Azure Functions.
- Skript jazyka C#: Používá se především při vytváření funkcí jazyka C# na webu Azure Portal.
Important
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 souborufunction.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í 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, froma 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();
}
}
Attributes
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.
Annotations
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.
Configuration
Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souborufunction.json , které se liší podle verze modulu runtime:
| vlastnost function.json | Description |
|---|---|
| type | musí být nastavena na twilioSmshodnotu . |
| direction | musí být nastavena na outhodnotu . |
| name | 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. |
| from | Tato hodnota je nastavená na telefonní číslo, ze kterého se posílá text SMS. |
| body | 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 souborulocal.settings.json v kolekci Values .