Azure Functions에 대한 Twilio 바인딩Twilio binding for Azure Functions

이 문서에서는 Azure Functions에서 Twilio 바인딩을 사용하여 문자 메시지를 보내는 방법에 대해 설명합니다.This article explains how to send text messages by using Twilio bindings in Azure Functions. Azure Functions는 Twilio에 대한 출력 바인딩을 지원합니다.Azure Functions supports output bindings for Twilio.

이는 Azure Functions 개발자에 대한 참조 정보입니다.This is reference information for Azure Functions developers. Azure Functions를 처음 접하는 경우 다음 리소스부터 시작합니다.If you're new to Azure Functions, start with the following resources:

패키지 - Functions 1.xPackages - Functions 1.x

Twilio 바인딩은 Microsoft.Azure.WebJobs.Extensions.Twilio NuGet 패키지 버전 1.x에서 제공됩니다.The Twilio bindings are provided in the Microsoft.Azure.WebJobs.Extensions.Twilio NuGet package, version 1.x. 이 패키지에 대한 소스 코드는 azure-webjobs-sdk GitHub 리포지토리에 있습니다.Source code for the package is in the azure-webjobs-sdk GitHub repository.

다음 표에서는 각 개발 환경에서 이 바인딩에 대한 지원을 추가하는 방법을 보여줍니다.The following table tells how to add support for this binding in each development environment.

개발 환경Development environment 다음에서 지원을 추가하려면To add support in
Functions 1.xFunctions 1.x
로컬 개발 - C# 클래스 라이브러리Local development - C# class library 패키지 설치Install the package
로컬 개발 - C# 스크립트, JavaScript, F #Local development - C# script, JavaScript, F# 자동Automatic
포털 개발Portal development 자동Automatic

패키지-함수 2.x 이상Packages - Functions 2.x and higher

Twilio 바인딩은 Microsoft.Azure.WebJobs.Extensions.Twilio NuGet 패키지 버전 3.x에서 제공됩니다.The Twilio bindings are provided in the Microsoft.Azure.WebJobs.Extensions.Twilio NuGet package, version 3.x. 이 패키지에 대한 소스 코드는 azure-webjobs-sdk GitHub 리포지토리에 있습니다.Source code for the package is in the azure-webjobs-sdk GitHub repository.

다음 방법을 사용 하 여 선호 하는 개발 환경에서 지원을 추가 합니다.Add support in you preferred development environment using the following methods.

개발 환경Development environment 애플리케이션 종류Application type 지원을 추가 하려면To add support
Visual StudioVisual Studio C # 클래스 라이브러리C# class library NuGet 패키지 설치Install the NuGet package
Visual Studio CodeVisual Studio Code 핵심 도구 기반Based on core tools 확장 번들 등록Register the extension bundle

Azure Tools 확장 을 설치 하는 것이 좋습니다.Installing the Azure Tools extension is recommended.
다른 모든 편집기/IDEAny other editor/IDE 핵심 도구 기반Based on core tools 확장 번들 등록Register the extension bundle
Azure PortalAzure Portal 포털 에서만 온라인Online only in portal 바인딩을 추가할 때 설치Installs when adding a binding

함수 앱을 다시 게시 하지 않고 기존 바인딩 확장을 업데이트 하려면 확장 업데이트 를 참조 하세요.See Update your extensions to update existing binding extensions without having to republish your function app.

예제-함수 2.x 이상Example - Functions 2.x and higher

다음 예제에서는 큐 메시지에서 트리거되면 문자 메시지를 보내는 C# 함수를 보여 줍니다.The following example shows a C# function that sends a text message when triggered by a queue message.

using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json.Linq;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;
namespace TwilioQueueOutput
{
    public static class QueueTwilio
    {
        [FunctionName("QueueTwilio")]
        [return: TwilioSms(AccountSidSetting = "TwilioAccountSid", AuthTokenSetting = "TwilioAuthToken", From = "+1425XXXXXXX")]
        public static CreateMessageOptions Run(
        [QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] JObject order,
        ILogger log)
        {
            log.LogInformation($"C# Queue trigger function processed: {order}");

            var message = new CreateMessageOptions(new PhoneNumber(order["mobileNumber"].ToString()))
            {
                Body = $"Hello {order["name"]}, thanks for your order!"
            };

            return message;
        }
    }
}

이 예제에서는 메서드 반환 값과 TwilioSms 특성을 사용합니다.This example uses the TwilioSms attribute with the method return value. 또는 out CreateMessageOptions 매개 변수나, ICollector<CreateMessageOptions> 또는 IAsyncCollector<CreateMessageOptions> 매개 변수와 특성을 사용합니다.An alternative is to use the attribute with an out CreateMessageOptions parameter or an ICollector<CreateMessageOptions> or IAsyncCollector<CreateMessageOptions> parameter.

특성 및 주석Attributes and annotations

C# 클래스 라이브러리에서 TwilioSms 특성을 사용합니다.In C# class libraries, use the TwilioSms attribute.

구성할 수 있는 특성 속성에 대한 자세한 내용은 구성을 참조하세요.For information about attribute properties that you can configure, see Configuration. 다음은 메서드 서명의 TwilioSms 특성 예제입니다.Here's a TwilioSms attribute example in a method signature:

[FunctionName("QueueTwilio")]
[return: TwilioSms(AccountSidSetting = "TwilioAccountSid", AuthTokenSetting = "TwilioAuthToken", From = "+1425XXXXXXX")]
public static CreateMessageOptions Run(
[QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] JObject order, ILogger log)
{
    ...
}

전체 예제는 C# 예제를 참조하세요.For a complete example, see C# example.

ConfigurationConfiguration

다음 표에서는 함수. json 파일 및 TwilioSms 특성에서 설정 하는 바인딩 구성 속성에 대해 설명 합니다.The following table explains the binding configuration properties that you set in the function.json file and the TwilioSms attribute.

v1 function.json 속성v1 function.json property v2 function.json 속성v2 function.json property 특성 속성Attribute property DescriptionDescription
typetype typetype twilioSms로 설정해야 합니다.must be set to twilioSms.
방향도direction 방향도direction out로 설정해야 합니다.must be set to out.
namename namename Twilio SMS 텍스트 메시지에 대한 함수 코드에 사용되는 변수 이름입니다.Variable name used in function code for the Twilio SMS text message.
accountSidaccountSid accountSidSettingaccountSidSetting AccountSidSettingAccountSidSetting 이 값은 Twilio 계정 Sid (TwilioAccountSid)를 포함 하는 앱 설정의 이름으로 설정 해야 합니다.This value must be set to the name of an app setting that holds your Twilio Account Sid (TwilioAccountSid). 설정되지 않은 경우 기본 앱 설정 이름은 "AzureWebJobsTwilioAccountSid"입니다.If not set, the default app setting name is "AzureWebJobsTwilioAccountSid".
authTokenauthToken authTokenSettingauthTokenSetting AuthTokenSettingAuthTokenSetting 이 값은 Twilio 인증 토큰 (TwilioAccountAuthToken)을 보유 하는 앱 설정의 이름으로 설정 해야 합니다.This value must be set to the name of an app setting that holds your Twilio authentication token (TwilioAccountAuthToken). 설정되지 않은 경우 기본 앱 설정 이름은 "AzureWebJobsTwilioAuthToken"입니다.If not set, the default app setting name is "AzureWebJobsTwilioAuthToken".
toto 해당 없음 - 코드에서 지정N/A - specify in code 받는 사람To 이 값은 SMS 텍스트 메시지가 전송된 전화 번호로 설정됩니다.This value is set to the phone number that the SMS text is sent to.
fromfrom fromfrom FromFrom 이 값은 SMS 텍스트 메시지를 보낸 전화 번호로 설정됩니다.This value is set to the phone number that the SMS text is sent from.
bodybody bodybody 본문Body 이 값은 함수에 대한 코드에서 동적으로 설정할 필요가 없는 경우에 SMS 텍스트 메시지를 하드 코딩하는 데 사용할 수 있습니다.This value can be used to hard code the SMS text message if you don't need to set it dynamically in the code for your function.

로컬로 개발하는 경우 앱 설정은 local.settings.json 파일로 이동합니다.When you're developing locally, app settings go into the local.settings.json file.

다음 단계Next steps