빠른 시작: SMS 메시지 보내기

Important

SMS 기능은 사용하는 전화 번호와 Azure 청구 주소에 따라 결정되는 운영 국가에 따라 다릅니다. 자세한 내용은 구독 자격을 참조 하세요.

참고 항목

이 짧은 설문 조사를 통해 Azure Communication Services에 대한 생각과 피드백을 공유하세요.


Azure CLI의 통신 모듈을 사용하여 SMS 메시지를 보내 Azure Communication Services를 시작합니다.

이 빠른 시작을 완료하면 Azure 계정에서 USD 센트 이하의 작은 비용이 발생합니다.

필수 조건

필수 구성 요소 확인

  • 터미널 또는 명령 창에서 az --version을 실행하여 Azure CLI가 설치되었는지 확인합니다.

설정

통신 모듈 설치

터미널이나 명령 창에서 다음 명령을 실행하여 통신 모듈을 장착합니다.

az extension add --name communication

Azure CLI에 로그인

Azure CLI에 로그인해야 합니다. 터미널에서 az login 명령을 실행하고 자격 증명을 제공하여 로그인할 수 있습니다.

올바른 구독을 사용하고 있는지 확인합니다.

계정에 여러 구독이 있는 경우 이 자습서에 대해 올바른 구독을 사용하고 있는지 확인합니다.

터미널 또는 명령 창에서 다음 명령을 실행하여 현재 구독을 확인합니다.

az account show

구독을 변경해야 하는 경우 다음 명령을 실행하여 변경할 수 있습니다.

az account set --subscription "<yourSubcriptionId>"

<yourSubscriptionId>를 Azure Portal의 구독 섹션에서 찾을 수 있는 실제 구독 ID로 바꿔야 합니다.

(선택 사항) 연결 문자열을 전달하지 않고 Azure CLI SMS 작업 사용

--connection_string을 사용하여 연결 문자열을 전달하지 않고도 Azure CLI sms 작업을 사용하도록 AZURE_COMMUNICATION_CONNECTION_STRING 환경 변수를 구성할 수 있습니다. 환경 변수를 구성하려면 콘솔 창을 열고 아래 탭에서 운영 체제를 선택합니다. <yourConnectionString>을 실제 연결 문자열로 바꿉니다.

콘솔 창을 열고 다음 명령을 입력합니다.

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

작업

1:1 SMS 메시지 보내기

단일 수신자에게 SMS 메시지를 보내려면 단일 수신자 전화 번호를 사용하여 sms 모듈에서 send 메서드를 호출합니다.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

코드에서 다음과 같이 바꿉니다.

  • <fromPhoneNumber>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <toPhoneNumber>를 메시지를 보낼 전화번호로 바꿉니다.
  • <yourConnectionString>을 연결 문자열로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <fromPhoneNumber>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

1:N SMS 메시지 보내기

수신자 목록에 SMS 메시지를 보내려면 여러 수신자 전화 번호를 사용하여 sms 모듈에서 send 메서드를 호출합니다.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

코드에서 다음과 같이 바꿉니다.

  • <fromPhoneNumber>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <toPhoneNumberN>을 메시지를 보낼 N번째 전화번호로 바꿉니다.
  • <yourConnectionString>을 연결 문자열로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <fromPhoneNumber>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

Communication Services C# SMS SDK를 사용하여 SMS 메시지를 보내 Azure Communication Services를 시작합니다.

이 빠른 시작을 완료하면 Azure 계정에서 USD 센트 이하의 작은 비용이 발생합니다.

참고 항목

GitHub에서 이 빠른 시작에 대한 최종 코드를 찾습니다.

필수 조건

필수 구성 요소 확인

  • 터미널 또는 명령 창에서 dotnet 명령을 실행하여 .NET SDK가 설치되어 있는지 확인합니다.
  • Communication Services 리소스와 연결된 전화번호를 보려면 Azure Portal에 로그인하고 Communication Services 리소스를 찾습니다. 왼쪽 탐색 창에서 전화번호를 선택합니다.

애플리케이션 환경 설정

메시지 전송을 위한 환경을 설정하려면 다음 섹션의 단계를 수행합니다.

새 C# 애플리케이션 만들기

  1. 콘솔 창(예: cmd, PowerShell 또는 Bash)에서 dotnet new 명령을 사용하여 SmsQuickstart이라는 새 콘솔 앱을 만듭니다. 이 명령은 program.cs라는 단일 원본 파일을 사용하여 간단한 "Hello World" C# 프로젝트를 만듭니다.

    dotnet new console -o SmsQuickstart
    
  2. 디렉터리를 새로 만든 앱 폴더로 변경하고 dotnet build 명령을 사용하여 애플리케이션을 컴파일합니다.

    cd SmsQuickstart
    dotnet build
    

패키지 설치

  1. 여전히 애플리케이션 디렉터리에 있는 동안 다음 명령을 사용하여 .NET용 Azure Communication Services SMS SDK 패키지를 설치합니다.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Program.cs의 맨 위에 using 지시어를 추가하여 Azure.Communication 네임스페이스를 포함합니다.

    
    using System;
    using System.Collections.Generic;
    
    using Azure;
    using Azure.Communication;
    using Azure.Communication.Sms;
    
    

개체 모델

다음 클래스 및 인터페이스는 C#용 Azure Communication Services SMS SDK의 주요 기능 중 일부를 처리합니다.

이름 설명
SmsClient 이 클래스는 모든 SMS 기능에 필요합니다. 구독 정보를 사용하여 인스턴스화하고 SMS 메시지를 보내는 데 사용합니다.
SmsSendOptions 이 클래스는 배달 보고 구성을 위한 옵션을 제공합니다. enable_delivery_report가 True로 설정되어 있으면 배달 성공 시 이벤트가 발생합니다.
SmsSendResult 이 클래스는 SMS 서비스의 결과를 포함합니다.

클라이언트 인증

텍스트 편집기에서 Program.cs를 열고 Main 메서드의 본문을 코드로 바꿔 연결 문자열로 SmsClient를 초기화합니다. 다음 코드는 COMMUNICATION_SERVICES_CONNECTION_STRING이라는 환경 변수에서 리소스에 대한 연결 문자열을 검색합니다. 리소스의 연결 문자열을 관리하는 방법을 알아봅니다.

// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

SmsClient smsClient = new SmsClient(connectionString);

1:1 SMS 메시지 보내기

SMS 메시지를 단일 수신자에게 보내려면 SmsClient에서 Send 또는 SendAsync 함수를 호출합니다. Program.csMain 메서드 끝에 이 코드를 추가합니다.

SmsSendResult sendResult = smsClient.Send(
    from: "<from-phone-number>",
    to: "<to-phone-number>",
    message: "Hello World via SMS"
);

Console.WriteLine($"Sms id: {sendResult.MessageId}");

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

옵션이 포함된 1:N SMS 메시지 보내기

SMS 메시지를 수신자 목록에 보내려면 수신자의 전화번호 목록이 포함된 SmsClient에서 Send 또는 SendAsync 함수를 호출합니다. 선택적 매개 변수를 제공하여 배달 보고서를 사용하도록 설정해야 하는지 여부를 지정하고 사용자 지정 태그를 설정할 수도 있습니다.

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-phone-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number-1><to-phone-number-2>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

enableDeliveryReport 매개 변수는 배달 보고를 구성하는 데 사용할 수 있는 선택적 매개 변수입니다. 이 기능은 SMS 메시지가 배달될 때 이벤트를 내보내려는 경우에 유용합니다. SMS 메시지에 대한 배달 보고를 구성하려면 SMS 이벤트 처리를 참조하세요.

Tag 매개 변수를 사용하여 배달 보고서에 태그를 적용할 수 있습니다.

코드 실행

dotnet run 명령을 사용하여 애플리케이션 디렉터리에서 애플리케이션을 실행합니다.

dotnet run

샘플 코드

샘플 앱은 GitHub에서 다운로드할 수 있습니다.

Communication Services JavaScript SMS SDK를 사용하여 SMS 메시지를 보내 Azure Communication Services를 시작합니다.

이 빠른 시작을 완료하면 Azure 계정에서 USD 센트 이하의 작은 비용이 발생합니다.

참고 항목

GitHub에서 이 빠른 시작에 대한 최종 코드를 찾습니다.

필수 조건

필수 구성 요소 확인

  • 터미널 또는 명령 창에서 node --version를 실행하여 Node.js가 설치되어 있는지 확인합니다.
  • Communication Services 리소스와 연결된 전화번호를 보려면 Azure Portal에 로그인하고 Communication Services 리소스를 찾습니다. 왼쪽 탐색 창에서 전화번호를 선택합니다.

애플리케이션 환경 설정

메시지 전송을 위한 환경을 설정하려면 다음 섹션의 단계를 수행합니다.

새 Node.js 애플리케이션 만들기

  1. 터미널 또는 명령 창을 연 후 다음 명령을 실행하여 앱의 새 디렉터리를 만들고 해당 디렉터리로 이동합니다.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. 다음 명령을 실행하여 기본 설정으로 package.json 파일을 만듭니다.

    npm init -y
    
  3. 텍스트 편집기를 사용하여 프로젝트 루트 디렉터리에 send-sms.js라는 파일을 만듭니다.

다음 섹션에서는 이 빠른 시작의 모든 소스 코드를 방금 만든 send-sms.js 파일에 추가합니다.

패키지 설치

npm install 명령을 사용하여 JavaScript용 Azure Communication Services SMS SDK를 설치합니다.

npm install @azure/communication-sms --save

--save 옵션은 라이브러리를 package.json 파일의 종속성으로 나열합니다.

개체 모델

다음 클래스 및 인터페이스는 Node.js용 Azure Communication Services SMS SDK의 주요 기능 중 일부를 처리합니다.

이름 설명
SmsClient 이 클래스는 모든 SMS 기능에 필요합니다. 구독 정보를 사용하여 인스턴스화하고 SMS 메시지를 보내는 데 사용합니다.
SmsSendRequest 이 인터페이스는 SMS 요청을 빌드하기 위한 모델입니다. 전화번호와 SMS 콘텐츠를 구성하는 데 사용합니다.
SmsSendOptions 이 인터페이스는 배달 보고 구성을 위한 옵션을 제공합니다. enableDeliveryReporttrue로 설정되면 배달에 성공하면 이벤트가 발생합니다.
SmsSendResult 이 클래스는 SMS 서비스의 결과를 포함합니다.

클라이언트 인증

클라이언트를 인증하려면 SDK에서 SmsClient를 가져와 연결 문자열로 인스턴스화합니다. 환경 변수에서 리소스에 대한 연결 문자열을 검색할 수 있습니다. 예를 들어, 이 섹션의 코드는 COMMUNICATION_SERVICES_CONNECTION_STRING 환경 변수에서 연결 문자열을 검색합니다. 리소스의 연결 문자열을 관리하는 방법을 알아봅니다.

클라이언트를 가져오고 인스턴스화하려면 다음을 수행합니다.

  1. send-sms.js라는 파일을 만듭니다.

  2. send-sms.js에 다음 코드를 추가합니다.

const { SmsClient } = require('@azure/communication-sms');

// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);

1:N SMS 메시지 보내기

수신자 목록에 SMS 메시지를 보내려면 수신자 전화번호 목록과 함께 SmsClient에서 send 함수를 호출합니다. 단일 수신자에게 메시지를 보내려면 목록에 하나의 번호만 포함합니다. 다음 코드를 send-sms.js 끝에 추가합니다.

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Hello World 👋🏻 via SMS"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number-1><to-phone-number-2>를 메시지를 보내려는 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

옵션이 포함된 1:N SMS 메시지 보내기

옵션 개체를 제공하여 배달 보고서를 사용하도록 설정해야 하는지 여부를 지정하고 사용자 지정 태그를 설정할 수도 있습니다.


async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number-1><to-phone-number-2>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

enableDeliveryReport 매개 변수는 배달 보고를 구성하는 데 사용할 수 있는 선택적 매개 변수입니다. 이 기능은 SMS 메시지가 배달될 때 이벤트를 내보내려는 경우에 유용합니다. SMS 메시지에 대한 배달 보고를 구성하려면 SMS 이벤트 처리를 참조하세요. tag 매개 변수는 선택 사항입니다. 배달 보고서에 태그를 적용하는 데 사용할 수 있습니다.

코드 실행

node 명령을 사용하여 send-sms.js 파일에 추가한 코드를 실행합니다.


node ./send-sms.js

Communication Services Python SMS SDK를 사용하여 SMS 메시지를 보내 Azure Communication Services를 시작합니다.

이 빠른 시작을 완료하면 Azure 계정에서 USD 센트 이하의 작은 비용이 발생합니다.

참고 항목

GitHub에서 이 빠른 시작에 대한 최종 코드를 찾습니다.

필수 조건

필수 구성 요소 확인

  • 터미널 또는 명령 창에서 python --version 명령을 실행하여 Python이 설치되어 있는지 확인합니다.
  • Communication Services 리소스와 연결된 전화번호를 보려면 Azure Portal에 로그인하고 Communication Services 리소스를 찾습니다. 왼쪽 탐색 창에서 전화번호를 선택합니다.

애플리케이션 환경 설정

메시지 전송을 위한 환경을 설정하려면 다음 섹션의 단계를 수행합니다.

새 Python 애플리케이션 만들기

  1. 터미널 또는 명령 창을 엽니다. 그리고 다음 명령을 사용하여 앱의 새 디렉터리를 만들고 해당 디렉터리로 이동합니다.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. 텍스트 편집기를 사용하여 프로젝트 루트 디렉터리에 send-sms.py라는 파일을 만들고 기본 예외 처리를 비롯한 프로그램의 구조를 추가합니다.

    import os
    from azure.communication.sms import SmsClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

다음 섹션에서는 이 빠른 시작의 모든 소스 코드를 방금 만든 send-sms.py 파일에 추가합니다.

패키지 설치

여전히 애플리케이션 디렉터리에 있는 동안 다음 명령을 사용하여 Python용 Azure Communication Services SMS SDK 패키지를 설치합니다.

pip install azure-communication-sms

개체 모델

다음 클래스 및 인터페이스는 Python용 Azure Communication Services SMS SDK의 주요 기능 중 일부를 처리합니다.

이름 설명
SmsClient 이 클래스는 모든 SMS 기능에 필요합니다. 구독 정보를 사용하여 인스턴스화하고 SMS 메시지를 보내는 데 사용합니다.
SmsSendResult 이 클래스는 SMS 서비스의 결과를 포함합니다.

클라이언트 인증

연결 문자열로 SmsClient를 인스턴스화합니다. 리소스의 연결 문자열을 관리하는 방법을 알아봅니다.

# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)

편의상 이 빠른 시작에서는 연결 문자열을 사용하지만 프로덕션 환경에서는 서비스 주체를 사용하는 것이 좋습니다.

1:1 SMS 메시지 보내기

단일 수신자에게 SMS 메시지를 보내려면 단일 수신자 전화 번호로 SmsClient에서 send 메서드를 호출합니다. 선택적 매개 변수를 제공하여 배달 보고서를 사용하도록 설정해야 하는지 여부를 지정하고 사용자 지정 태그를 설정할 수도 있습니다. 이 코드를 send-sms.pytry 블록 끝에 추가합니다.


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 통신 서비스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

1:N SMS 메시지 보내기

SMS 메시지를 수신자 목록에 보내려면 수신자의 전화번호 목록이 포함된 SmsClient에서 send 메서드를 호출합니다. 선택적 매개 변수를 제공하여 배달 보고서를 사용하도록 설정해야 하는지 여부를 지정하고 사용자 지정 태그를 설정할 수도 있습니다. 이 코드를 send-sms.pytry 블록 끝에 추가합니다.


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 통신 서비스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number-1><to-phone-number-2>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

선택적 매개 변수

enable_delivery_report 매개 변수는 배달 보고를 구성하는 데 사용할 수 있는 선택적 매개 변수입니다. 이 기능은 SMS 메시지가 배달될 때 이벤트를 내보내려는 경우에 유용합니다. SMS 메시지에 대한 배달 보고를 구성하려면 SMS 이벤트 처리를 참조하세요.

tag 매개 변수는 배달 보고서에 태그를 적용하는 데 사용할 수 있는 선택적 매개 변수입니다.

코드 실행

python 명령을 사용하여 애플리케이션 디렉터리에서 애플리케이션을 실행합니다.

python send-sms.py

완전한 Python 스크립트는 다음 코드와 유사해야 합니다.


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object that you use to send SMS messages.
    sms_client = SmsClient.from_connection_string("<connection string>")
    # Call send() with SMS values.
    sms_responses = sms_client.send(
       from_="<from-phone-number>",
       to="<to-phone-number>",
       message="Hello World via SMS",
       enable_delivery_report=True, # optional property
       tag="custom-tag") # optional property

except Exception as ex:
    print('Exception:')
    print(ex)

Communication Services Java SMS SDK를 사용하여 SMS 메시지를 보내 Azure Communication Services를 시작합니다.

이 빠른 시작을 완료하면 Azure 계정에서 USD 센트 이하의 작은 비용이 발생합니다.

참고 항목

GitHub에서 이 빠른 시작에 대한 최종 코드를 찾습니다.

필수 조건

필수 구성 요소 확인

  • 터미널 또는 명령 창에서 mvn -v를 실행하여 Maven이 설치되어 있는지 확인합니다.
  • Communication Services 리소스와 연결된 전화번호를 보려면 Azure Portal에 로그인하고 Communication Services 리소스를 찾습니다. 왼쪽 탐색 창에서 전화번호를 선택합니다.

애플리케이션 환경 설정

메시지 전송을 위한 환경을 설정하려면 다음 섹션의 단계를 수행합니다.

새 Java 애플리케이션 만들기

터미널 또는 명령 창을 열고 Java 애플리케이션을 만들 디렉터리로 이동합니다. 다음 명령을 실행하여 maven-archetype-quickstart 템플릿에서 Java 프로젝트를 생성합니다.

  • 명령 프롬프트
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"

generate 목표는 artifactId 값과 동일한 이름으로 디렉터리를 만듭니다. 이 디렉터리 아래에서 src/main/java 디렉터리는 프로젝트 소스 코드를 포함하고, src/test/java 디렉터리는 테스트 원본을 포함하고, pom.xml 파일은 프로젝트의 POM(프로젝트 개체 모델)입니다.

패키지 설치

텍스트 편집기에서 pom.xml 파일을 엽니다. 종속성 그룹에 다음 종속성 요소를 추가합니다.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-sms</artifactId>
    <version>1.0.1</version>
</dependency>

앱 프레임워크 설정

텍스트 편집기에서 /src/main/java/com/communication/quickstart/App.java를 열고, 가져오기 지시문을 추가하고, System.out.println("Hello world!"); 문을 제거합니다.

package com.communication.quickstart;

import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

개체 모델

다음 클래스 및 인터페이스는 Java용 Azure Communication Services SMS SDK의 주요 기능 중 일부를 처리합니다.

이름 설명
SmsClientBuilder 이 클래스는 SmsClient를 만듭니다. 엔드포인트, 자격 증명 및 HTTP 클라이언트를 제공합니다.
SmsClient 이 클래스는 모든 SMS 기능에 필요합니다. SMS 메시지를 보내는 데 사용합니다.
SmsSendOptions 이 클래스는 사용자 지정 태그를 추가하고 전달 보고를 구성하는 옵션을 제공합니다. deliveryReportEnabled가 true로 설정된 경우 배달이 성공하면 이벤트가 발생합니다.
SmsSendResult 이 클래스는 SMS 서비스의 결과를 포함합니다.

클라이언트 인증

클라이언트를 인증하려면 연결 문자열로 SmsClient를 인스턴스화합니다. 자격 증명의 경우 Azure Portal에서 Key를 사용합니다. 리소스의 연결 문자열을 관리하는 방법을 알아봅니다. com.azure.core.http.HttpClient 인터페이스를 구현하는 사용자 지정 HTTP 클라이언트로 클라이언트를 초기화할 수도 있습니다.

클라이언트를 인스턴스화하려면 다음 코드를 main 메서드에 추가합니다.

// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");

SmsClient smsClient = new SmsClientBuilder()
                .endpoint(endpoint)
                .credential(azureKeyCredential)
                .buildClient();

엔드포인트 및 액세스 키를 제공하는 대신 connectionString 함수를 사용하여 전체 연결 문자열을 제공할 수도 있습니다.

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

SmsClient smsClient = new SmsClientBuilder()
            .connectionString(connectionString)
            .buildClient();

1:1 SMS 메시지 보내기

단일 수신자에게 SMS 메시지를 보내려면 단일 수신자 전화 번호로 SmsClient에서 send 메서드를 호출합니다. 선택적 매개 변수를 제공하여 배달 보고서를 사용하도록 설정해야 하는지 여부를 지정하고 사용자 지정 태그를 설정할 수도 있습니다.

SmsSendResult sendResult = smsClient.send(
                "<from-phone-number>",
                "<to-phone-number>",
                "Weekly Promotion");

System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

옵션이 포함된 1:N SMS 메시지 보내기

SMS 메시지를 수신자 목록에 보내려면 수신자 전화 번호 목록을 사용하여 send 메서드를 호출합니다. 선택적 매개 변수를 제공하여 배달 보고서를 사용하도록 설정해야 하는지 여부를 지정하고 사용자 지정 태그를 설정할 수도 있습니다.

SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");

Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
    "<from-phone-number>",
    Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
    "Weekly Promotion",
    options /* Optional */,
    Context.NONE).getValue();

for (SmsSendResult result : sendResults) {
    System.out.println("Message Id: " + result.getMessageId());
    System.out.println("Recipient Number: " + result.getTo());
    System.out.println("Send Result Successful:" + result.isSuccessful());
}

코드에서 다음과 같이 바꿉니다.

  • <from-phone-number>를 Communication Services 리소스와 연결된 SMS 지원 전화번호로 바꿉니다.
  • <to-phone-number-1><to-phone-number-2>를 메시지를 보낼 전화번호로 바꿉니다.

Warning

E.164 국가별 표준 형식(예: +14255550123)으로 전화번호를 입력합니다. <from-phone-number>의 값은 짧은 코드(예: 23456)이거나 영숫자 보낸 사람 ID(예: CONTOSO)일 수도 있습니다.

setDeliveryReportEnabled 메서드는 배달 보고를 구성하는 데 사용됩니다. 이 기능은 SMS 메시지가 배달될 때 이벤트를 내보내려는 경우에 유용합니다. SMS 메시지에 대한 배달 보고를 구성하려면 SMS 이벤트 처리를 참조하세요.

setTag 메서드를 사용하여 배달 보고서에 태그를 적용할 수 있습니다.

코드 실행

  1. pom.xml 파일이 포함된 디렉터리로 이동하고 mvn 명령을 사용하여 프로젝트를 컴파일합니다.

    
    mvn compile
    
    
  2. 패키지를 빌드합니다.

    
    mvn package
    
    
  3. 다음 mvn 명령을 실행하여 앱을 실행합니다.

    • 명령 프롬프트
    
    mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
    
    
    • PowerShell
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

Azure Communication Services SMS 커넥터 및 Azure Logic Apps를 사용하면 SMS 메시지를 보낼 수 있는 자동화된 워크플로를 만들 수 있습니다. 이 빠른 시작에서는 논리 앱 워크플로의 첫 번째 단계인 트리거 이벤트에 응답하여 문자 메시지를 자동으로 보내는 방법을 보여 줍니다. 트리거 이벤트는 들어오는 이메일 메시지, 되풀이 일정, Azure Event Grid 리소스 이벤트 또는 기타 Azure Logic Apps에서 지원하는 트리거일 수 있습니다.

Screenshot that shows the Azure portal, which is open to the Logic App Designer, and shows an example logic app that uses the Send SMS action for the Azure Communication Services connector.

이 빠른 시작에서는 커넥터를 사용하여 트리거에 응답하는 데 중점을 두지만, 커넥터를 사용하여 워크플로에서 트리거를 따르는 단계인 다른 작업에 응답할 수도 있습니다. Logic Apps를 처음 접하는 경우 시작하기 전에 Azure Logic Apps란?을 검토하세요.

참고 항목

이 빠른 시작을 완료하면 Azure 계정에서 USD 센트 이하의 작은 비용이 발생합니다.

필수 조건

Important

SMS와 PSTN 기능은 사용하는 전화 번호와 Azure 청구 주소에 따라 결정되는 운영 국가/지역에 따라 다릅니다. 자세한 내용은 구독 자격 설명서를 참조하세요.

SMS 작업 추가

Azure Communication Services SMS 커넥터를 사용하여 워크플로의 새 단계로 SMS 보내기 작업을 추가하려면 Logic Apps 디자이너에서 논리 앱 워크플로가 열려 있는 Azure Portal에서 다음 단계를 수행합니다.

  1. 새 작업을 추가하려는 디자이너 단계에서 새 단계를 선택합니다. 또는 새 작업을 단계 사이에 추가하려면 포인터를 해당 단계 사이의 화살표 위로 이동하고, 더하기 기호(+)를 선택한 다음, 작업 추가를 선택합니다.

  2. 작업 선택 검색 상자에서 Azure Communication Services를 입력합니다. 작업 목록에서 SMS 보내기를 선택합니다.

    Screenshot that shows the Logic App Designer and the Azure Communication Services connector with the Send SMS action selected.

  3. 이제 Communication Services 리소스에 대한 연결을 만듭니다.

    1. 동일한 구독 내에서:

      1. 연결 이름을 제공합니다.

      2. Azure Communication Services 리소스를 선택합니다.

      3. 만들기를 실행합니다.

      Screenshot that shows the Send SMS action configuration with sample information.

    2. Communication Services 리소스의 연결 문자열 사용:

      1. 연결 이름을 제공합니다.

      2. 드롭다운 옵션에서 ConnectionString 인증을 선택합니다.

      3. Communication Services 리소스의 연결 문자열을 입력합니다.

      4. 만들기를 실행합니다.

      Screenshot that shows the Connection String Authentication configuration.

    3. 서비스 주체 사용(서비스 주체 만들기 참조):

      1. 연결 이름을 제공합니다.

      2. 드롭다운 옵션에서 서비스 주체(Microsoft Entra 애플리케이션) 인증을 선택합니다.

      3. 서비스 주체의 테넌트 ID, 클라이언트 ID 및 클라이언트 비밀을 입력합니다.

      4. Communication Services 리소스의 Communication Services 엔드포인트 URL 값을 입력합니다.

      5. 만들기를 실행합니다.

      Screenshot that shows the Service Principal Authentication configuration.

  4. SMS 보내기 작업에서 다음 정보를 제공합니다.

    • 원본 및 대상 전화 번호. 테스트를 위해 자신의 전화 번호를 대상 전화 번호로 사용할 수 있습니다.

    • 보내려는 메시지 내용(예: "Logic Apps에서 안녕하세요!")

    예제 정보가 포함된 SMS 보내기 작업은 다음과 같습니다.

    Screenshot that shows the Send SMS action with sample information.

  5. 완료되면 디자이너 도구 모음에서 저장을 선택합니다.

다음으로 테스트를 위해 워크플로를 실행합니다.

워크플로 테스트

워크플로를 수동으로 시작하려면 디자이너 도구 모음에서 실행을 선택합니다. 또는 트리거가 실행될 때까지 기다릴 수 있습니다. 두 경우 모두에서 워크플로는 SMS 메시지를 지정된 대상 전화 번호로 보내야 합니다. 자세한 내용은 워크플로를 실행하는 방법을 검토하세요.

워크플로 리소스 정리

논리 앱 워크플로 및 관련 리소스를 정리하려면 Logic Apps 리소스를 정리하는 방법을 검토하세요.

문제 해결

SMS 전달과 관련된 문제를 해결하기 위해 Event Grid를 통해 전달 보고를 사용하여 전달 세부 정보를 캡처할 수 있습니다.

리소스 정리

Communication Services 구독을 정리하고 제거하려면 리소스 또는 리소스 그룹을 삭제하면 됩니다. 리소스 그룹을 삭제하면 해당 리소스 그룹에 연결된 다른 모든 리소스가 함께 삭제됩니다. 리소스 정리에 대해 자세히 알아보세요.

무료 확인

새 무료 번호가 있고 대량의 SMS 메시지를 보내거나 캐나다 전화 번호로 SMS 메시지를 보내려는 경우 무료 전화 번호를 확인하는 방법을 알아보기 위해 무료 인증을 제출하는 어떻게 할까요? SMS FAQ > 를 참조하세요.

다음 단계

이 빠른 시작에서는 Azure Communication Services를 사용하여 SMS 메시지를 보내는 방법을 알아보았습니다.