はじめに
こんにちは、ACS事業部の東出です。 普段あまりブログ書かないマンですが、先日アドカレ投稿したのをいいことにブログ熱がちょっと出てきたので、書いてみます。
本記事の動機
今回から数回に渡り、Azure Communication Servicesについて触れてみたいと思います。 私は元々、CRM系システム+Telephony系エンジニアでしたので、この辺のサービスに興味を持っています。
昔はPBXやCTIの設計導入や、アプリケーションとのCTI連動のAPIアプリケーションを開発したりなどしていましたが、お手軽になったなぁ、、、としみじみ思います。
本日はとりあえず触ってみる、をやってみます。 今後、少し実用寄りのネタなども書いていければと思います。
Azure Communication Servicesってなに?
コミュニケーションチャネル(音声・ビデオ・チャット・メール・SMS)のAPIサービスです。 これを使うと、別個にPBXとか用意せずともアプリケーションからそれらチャネルを活用できるようになる(はず)です。
まずはリソースを立てる
とりあえずはリソースグループとリソース名を設定すれば作れます。
リソースの画面はこんな感じです。
電話番号については、日本ではまだ使えないようです。Amazon Connectサンは日本で使えるので、早くこちらも使えるようになってほしいですね。
一方、ダイレクトルーティング機能というのを使うと、既存の電話事業者と接続できれば使えそうです、が、詳細は今後調べてみることにします。。。
とりまメールサービスを使ってみる
さくっとできそうな、メールサービスを触ってみようと思います。 なお、メールサービスは現状だとパブリック プレビュー段階のため、その点はご留意ください。
現状だと、MicrosoftとしてはSendGridなどSMTPリレーサービスを利用することを推奨されているようです。
メール -> ドメイン を選択します。
事前に電子メールサービス
と無料ドメインを用意します。
しかし、接続
ボタン押すとエラーになりました。。。
ドキュメントを調べると、通信リソースのロケーション = メール通信リソースのロケーションが同じである必要とのことでしたので、通信リソースのロケーションを再作成しました(メール通信リソースはUSしか選択できなかったので)。
作り直した結果、うまく接続できました。
続いて、クイックスタートの記事に添ってテストメール送信をしてみます。 私はpythonでサンプルコードを書きました。
コードはGithub上のものを使うのが楽ですので、それを使います。 あとは接続文字列や宛先/送信元アドレスなどを設定して、コードを実行すればメールが送れます。
↓はコードを実行した時のログです。
$ python send-email.py Send email succeeded for message_id :1a511375-13ef-48fb-9460-d09b69de2997 Email status for message_id 1a511375-13ef-48fb-9460-d09b69de2997 is Queued. Email status for message_id 1a511375-13ef-48fb-9460-d09b69de2997 is OutForDelivery. Email delivered for message_id 1a511375-13ef-48fb-9460-d09b69de2997.
無事、宛先にメールが届きました。
おわりに
いかがだったでしょうか? メール送信環境が楽にできましたね。 早くGAになるのを期待しています。
実運用上ではバウンスメールの管理とか色々考えないといけないので、今後はその辺を試していきたいと思います。
私達ACS事業部はAzure・AKSを活用した内製化のご支援をしております。 ご相談等ありましたらぜひご連絡ください。
また、一緒に働いていただける仲間も募集中です! 切磋琢磨しながらスキルを向上できる、エンジニアには良い環境だと思います。 ご興味を持っていただけたら嬉しく思います。