クイック スタート:SMS メッセージを送信する
重要
SMS 機能は、使用する電話番号と、Azure の請求先住所によって決まる、運用している国およびリージョンによって異なります。 詳細については、サブスクリプションの資格を参照してください。
Note
こちらの短いアンケートに答えて、Azure Communication Services に関するご意見やフィードバックをお寄せください。
Azure CLI で Communication モジュールを使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。
このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- アクティブな Communication Services リソースと接続文字列。 Communication Services のリソースを作成する。
- SMS が有効になっている電話番号。 電話番号を取得します。
- お使いのオペレーティング システムに対応した最新の Azure CLI バージョン。
前提条件のチェック
- ターミナルまたはコマンド ウィンドウで
az --version
を実行して、Azure CLI がインストールされていることを確認します。
設定
Communication モジュールをインストールする
ターミナルまたはコマンド ウィンドウで次のコマンドを実行して、Communication モジュールをインストールします。
az extension add --name communication
Azure CLI へのサインイン
Azure CLI にサインインする必要があります。 ターミナルから az login
コマンドを実行し、資格情報を入力してサインインできます。
正しいサブスクリプションを使用していることを確認する
アカウントに複数のサブスクリプションがある場合は、このチュートリアルに適切なものを使用していることを確認してください。
ターミナルまたはコマンド ウィンドウで次のコマンドを実行して、現在のサブスクリプションを確認します。
az account show
サブスクリプションを変更する必要がある場合は、次のコマンドを実行して行うことができます。
az account set --subscription "<yourSubcriptionId>"
<yourSubscriptionId>
は、実際のサブスクリプション ID に置き換える必要があります。これは、Azure portal の [サブスクリプション] セクションで確認できます。
(省略可能) 接続文字列を渡さずに 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 メッセージを送信する
1 人の受信者に SMS メッセージを送信するには、1 人の受信者の電話番号を使用して 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>
を対象の接続文字列に置き換えてください。
警告
電話番号は、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>
を対象の接続文字列に置き換えてください。
警告
電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <fromPhoneNumber>
の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。
Communication Services C# SMS SDK を使用して SMS メッセージを送信することによって、Azure Communication Services の使用を開始します。
このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。
Note
このクイックスタートの最終的なコードは GitHub にあります。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- お使いのオペレーティング システムに対応した最新バージョンの .NET Core SDK。
- アクティブな Communication Services リソースと接続文字列。 Communication Services のリソースを作成する。
- SMS が有効になっている電話番号。 電話番号を取得します。
前提条件のチェック
- ターミナルまたはコマンド ウィンドウで
dotnet
コマンドを実行して、.NET SDK がインストールされていることを確認します。 - Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。
アプリケーション環境の設定
メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。
新しい C# アプリケーションを作成する
cmd、PowerShell、Bash などのコンソール ウィンドウで
dotnet new
コマンドを使用して、新しいコンソール アプリをSmsQuickstart
という名前で作成します。 このコマンドにより、1 つのソース ファイル (Program.cs) を含む単純な "Hello World" C# プロジェクトが作成されます。dotnet new console -o SmsQuickstart
新しく作成したアプリ フォルダーにディレクトリを変更し、
dotnet build
コマンドを使用してアプリケーションをコンパイルします。cd SmsQuickstart dotnet build
パッケージをインストールする
まだアプリケーション ディレクトリにいる間に、次のコマンドを使用して、.NET 用の Azure Communication Services SMS SDK パッケージをインストールします。
dotnet add package Azure.Communication.Sms --version 1.0.0
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 メッセージを送信する
1 人の受信者に SMS メッセージを送信するには、SmsClient からSend
または SendAsync
関数を呼び出します。 Program.cs の Main
メソッドの末尾に次のコードを追加します。
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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、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 アカウントでわずかな (数セント未満の) コストが発生します。
Note
このクイックスタートの最終的なコードは GitHub にあります。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Node.js アクティブ LTS およびメンテナンス LTS バージョン (8.11.1 および 10.14.1 を推奨)。
- アクティブな Communication Services リソースと接続文字列。 Communication Services のリソースを作成する。
- SMS が有効になっている電話番号。 電話番号を取得します。
前提条件のチェック
- ターミナルまたはコマンド ウィンドウで
node --version
を実行して、Node.js がインストールされていることを確認します。 - Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。
アプリケーション環境の設定
メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。
新しい Node.js アプリケーションを作成する
まず、ターミナルまたはコマンド ウィンドウを開き、次のコマンドを実行して自分のアプリ用に新しいディレクトリを作成し、そこに移動します。
mkdir sms-quickstart && cd sms-quickstart
既定の設定で次のコマンドを実行して、package.json ファイルを作成します。
npm init -y
テキスト エディターを使用して、プロジェクトのルート ディレクトリに send-sms.js というファイルを作成します。
以降のセクションで、このクイックスタートのすべてのソース コードを、先ほど作成した send-sms.js ファイルに追加していきます。
パッケージをインストールする
JavaScript 用の Azure Communication Services SMS SDK をインストールするには、npm install
コマンドを使用します。
npm install @azure/communication-sms --save
--save
オプションを使用すると、package.json ファイル内の依存関係としてライブラリが表示されます。
オブジェクト モデル
Node.js 用 Azure Communication Services SMS SDK が備える主な機能のいくつかは、以下のクラスとインターフェイスにより処理されます。
名前 | 説明 |
---|---|
SmsClient | このクラスは、すべての SMS 機能に必要となります。 サブスクリプション情報を使用してこれをインスタンス化し、そのインスタンスを使用して SMS を送信します。 |
SmsSendRequest | このインターフェイスは、SMS 要求を作成するためのモデルです。 これを使用して、発信および着信電話番号と SMS コンテンツを構成します。 |
SmsSendOptions | このインターフェイスには、配信レポートを構成するためのオプションが用意されています。 enableDeliveryReport が true に設定されている場合、配信が成功したときにイベントが生成されます。 |
SmsSendResult | このクラスには、SMS サービスからの結果が含まれます。 |
クライアントを認証する
クライアントを認証するには、SDK から SmsClient をインポートし、接続文字列を使用してインスタンス化します。 環境変数からリソースの接続文字列を取得できます。 たとえば、このセクションのコードは、COMMUNICATION_SERVICES_CONNECTION_STRING
環境変数から接続文字列を取得します。 リソースの接続文字列を管理する方法について確認してください。
クライアントをインポートしてインスタンス化するには:
send-sms.js という名前のファイルを作成します。
次のコードを 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
関数を呼び出します。 1 人の受信者にメッセージを送信する場合は、リストに 1 つの番号のみを含めます。 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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、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 アカウントでわずかな (数セント未満の) コストが発生します。
Note
このクイックスタートの最終的なコードは GitHub にあります。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Python 3.7 以降。
- アクティブな Communication Services リソースと接続文字列。 Communication Services のリソースを作成する。
- SMS が有効になっている電話番号。 電話番号を取得します。
前提条件のチェック
- ターミナルまたはコマンド ウィンドウで
python --version
コマンドを実行して、Python がインストールされていることを確認します。 - Communication Services リソースに関連付けられている電話番号を表示するには、Azure portal にサインインし、Communication Services リソースを見つけます。 左側のナビゲーション ウィンドウで、[電話番号] を選択します。
アプリケーション環境の設定
メッセージを送信するための環境を設定するには、次のセクションの手順を実行します。
新しい Python アプリケーションを作成する
ターミナルまたはコマンド ウィンドウを開きます。 次に、次のコマンドを使用して、自分のアプリ用に新しいディレクトリを作成し、そこに移動します。
mkdir sms-quickstart && cd sms-quickstart
テキスト エディターを使用して、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 メッセージを送信する
1 人の受信者に SMS メッセージを送信するには、1 人の受信者の電話番号を使用して SmsClient から send
メソッドを呼び出します。 また、オプションのパラメーターを渡して、配信レポートを有効にするかどうか、およびカスタム タグを設定するかどうかを指定することもできます。 send-sms.py の try
ブロックの末尾に、次のコードを追加します。
# 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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number>
の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。
1:N の SMS メッセージを送信する
受信者の一覧に SMS メッセージを送信するには、受信者の電話番号の一覧を使用して SmsClient から send
メソッドを呼び出します。 また、オプションのパラメーターを渡して、配信レポートを有効にするかどうか、およびカスタム タグを設定するかどうかを指定することもできます。 send-sms.py の try
ブロックの末尾に、次のコードを追加します。
# 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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、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 アカウントでわずかな (数セント未満の) コストが発生します。
Note
このクイックスタートの最終的なコードは GitHub にあります。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Java Development Kit (JDK) バージョン 8 以降。
- Apache Maven。
- アクティブな Communication Services リソースと接続文字列。 Communication Services のリソースを作成する。
- SMS が有効になっている電話番号。 電話番号を取得します。
前提条件のチェック
- ターミナルまたはコマンド ウィンドウで
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 要素を追加します。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-sms</artifactId>
<version>1.0.1</version>
</dependency>
アプリのフレームワークを設定する
テキスト エディターで /src/main/java/com/communication/quickstart/App.java を開き、import ディレクティブを追加して、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 メッセージを送信する
1 人の受信者に SMS メッセージを送信するには、1 人の受信者の電話番号を使用して 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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、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>
をメッセージを送信する電話番号に置き換えます。
警告
電話番号は、E.164 国際標準形式 (例: +14255550123) で指定します。 <from-phone-number>
の値は、短いコード (23456 など) または英数字送信者 ID (CONTOSO など) にすることもできます。
setDeliveryReportEnabled
メソッドは、配信レポートを構成する際に使用します。 この機能は、SMS メッセージが配信されたときにイベントを生成する場合に便利です。 SMS メッセージの配信レポートを構成するには、SMS イベントの処理に関するクイックスタートを参照してください。
setTag
メソッドを使用して、配信レポートにタグを適用できます。
コードの実行
pom.xml ファイルが格納されているディレクトリに移動し、
mvn
コマンドを使用してプロジェクトをコンパイルします。mvn compile
パッケージをビルドします。
mvn package
次の
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) メッセージを送信できる自動化されたワークフローを作成できます。 このクイックスタートでは、ロジック アプリ ワークフローの最初のステップであるトリガー イベントに反応する形で自動的に携帯ショートメール (SMS) を送信する方法を説明します。 トリガー イベントは、受信電子メール メッセージ、定期実行スケジュール、Azure Event Grid リソース イベントなど、Azure Logic Apps でサポートされるトリガーであれば何でもかまいません。
このクイックスタートでは、コネクタを使用してトリガーに応答する方法を中心に説明していますが、コネクタを使用して他のアクション (ワークフローの中でトリガーに続くステップ) に応答することもできます。 Logic Apps を初めて使用する方は、最初に Azure Logic Apps の概要に関するページをご覧ください。
Note
このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。
前提条件
アクティブなサブスクリプションを含む Azure アカウント。または、アカウントを無料で作成してください。
アクティブな Azure Communication Services リソース。または、Communication Services リソースを作成してください。
アクティブな Logic Apps リソース (ロジック アプリ)。または、空のロジック アプリを作成して、使用するトリガーを追加してください。 現在、Azure Communication Services の SMS コネクタで提供されるのはアクションのみです。そのためロジック アプリには、最低でもトリガーが必要となります。
このクイックスタートでは、Office 365 Outlook コネクタで提供される、"新しい電子メールが届いたとき" というトリガーを使用しています。
SMS 対応の電話番号。または、電話番号を取得してください。
重要
SMS と PSTN 機能は、使用する電話番号と、Azure の請求先住所によって決まる、運用している国およびリージョンによって異なります。 詳細については、サブスクリプションの資格に関するページを参照してください。
SMS アクションを追加する
Azure Communication Services SMS コネクタを使用して、ワークフローに新しいステップとして携帯ショートメール (SMS) 送信アクションを追加するには、Azure portal で次の手順に従います。その際、ロジック アプリ デザイナーでロジック アプリ ワークフローを開いておいてください。
デザイナーで、新しいアクションの追加先となるステップで [新しいステップ] を選択します。 ステップとステップの間に新しいアクションを追加するには、それらのステップ間の矢印にポインターを合わせて、正符号 ( + ) を選択し、 [アクションの追加] を選択します。
[操作の選択] 検索ボックスに「
Azure Communication Services
」と入力します。 アクションの一覧から [Send SMS](携帯ショートメール (SMS) 送信) を選択します。Communication Services リソースとの接続を作成します。
同じサブスクリプション内で次のように実行します。
接続の名前を入力します。
Azure Communication Services リソースを選択します。
[作成] を選択します
お使いの Azure Communication Services リソースの接続文字列を使用します。
接続の名前を入力します。
ドロップダウン オプションから [ConnectionString 認証] を選択します。
Azure Communication Services リソースの接続文字列を入力します。
[作成] を選択します。
サービス プリンシパルの使用 (「サービス プリンシパルの作成」を参照してください)。
接続の名前を入力します。
ドロップダウン オプションから [サービス プリンシパル (Microsoft Entra アプリケーション) 認証] を選択します。
サービス プリンシパルの [テナント ID]、[クライアント ID]、[クライアント シークレット] を入力します。
Azure Communication Services リソースの Azure Communication Services エンドポイント URL の値を入力します。
[作成] を選択します。
携帯ショートメール (SMS) 送信アクションで、次の情報を入力します。
送信元と送信先の電話番号。 テスト用途では、送信先電話番号としてご自身の電話番号を使用してください。
送信するメッセージの内容。たとえば「Hello from Logic Apps!」と入力します。
携帯ショートメール (SMS) 送信アクションの情報の入力例を次に示します。
操作が完了したら、デザイナーのツールバーで、 [保存] を選択します。
次に、テストのためにワークフローを実行します。
ワークフローのテスト
ワークフローを手動で開始するには、デザイナーのツール バーの [実行] を選択します。 または、トリガーが起動するまで待つこともできます。 どちらの場合も、ワークフローによって、指定した送信先電話番号に携帯ショートメール (SMS) メッセージが送信されます。 詳細については、ワークフローを実行する方法を確認してください。
ワークフロー リソースをクリーンアップする
ロジック アプリのワークフローおよび関連するリソースのクリーンアップについては、Logic Apps リソースのクリーンアップ方法に関するセクションを参照してください。
トラブルシューティング
SMS 配信に関連する問題のトラブルシューティングを行うために、Event Grid で配信レポートを有効にして配信の詳細を取得できます。
リソースをクリーンアップする
Communication Services サブスクリプションをクリーンアップして解除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。 詳細については、リソースのクリーンアップに関する記事を参照してください。
フリーダイヤル検証
SMS メッセージを送信するために新しい無料電話番号を利用するには、無料電話番号の確認プロセスを受ける必要があります。 無料電話番号の確認を完了する方法のガイダンスについては、無料電話番号検証を申請するためのクイック スタートを参照してください。 完全に確認された無料電話番号のみが、SMS トラフィックの送信を承認されることに注意してください。 米国とカナダの電話番号に宛てた未確認の無料電話番号の SMS トラフィックはブロックされます。
次のステップ
このクイックスタートでは、Azure Communication Services を使用して SMS メッセージを送信する方法について説明しました。