🎄 デジタルオーシャンの12日間: 誕生日の確認とSMS通知の送信 🎁
デジタルオーシャンの12日間の第3日目へようこそ!ここ2日間で、PostgreSQLデータベースを設定し、Pythonを使って接続しました。さて、私たちの誕生日リマインダーサービスが実際に役立つことをする時が来ました。今日誕生日の人にテキストメッセージを送ります。🎂
私たちは、少ないコード行でSMSメッセージを簡単に送信できるサービスTwilioを使用します。今日の終わりまでに、あなたのアプリはデータベースをチェックして誕生日を探し、一致する場合はリマインダーを送信します。
さあ、始めましょう!
✨ このステップの理由は?
データベース内の誕生日を見つけることは、仕事の一部に過ぎません。このアプリを本当に役立つものにするためには、特別な日について誰か(あなた!)に通知する必要があります。
このステップはポイントをつなぎます:
- SQLクエリを使用して、今日の日付に一致する誕生日を見つけます。
- Twilioを使って、友好的なSMSリマインダーを送信します。
設定が簡単で、アプリをすぐに実用的にします。
🚀 学ぶこと
今日取り組む内容は次のとおりです:
- 今日の日付に一致する誕生日を見つけるためにSQLクエリを使用します。
- TwilioのPython SDKを使用してSMS通知を送信します。
- これらのステップを1つの機能的なPythonスクリプトに統合します。
🛠 必要なもの
始める前に、次のものを用意してください:
- Twilioアカウント(まだ持っていない場合は、このクイックスタートガイドに従ってサインアップし、Twilioの電話番号を購入し、認証情報を取得してください。
- あなたのTwilio認証情報:
- アカウントSID
- 認証トークン
- Twilio電話番号
- Day 2からのデータベースとPython接続スクリプト。
- サンプルデータはあなたの連絡先テーブルにあります(これはDay 1 – バースデーリマインダーのためのPostgreSQLデータベースの設定で追加しました)。もっと追加する必要がある場合は、Day 1の手順に従ってデータベースを充填してください。
🧑🍳 Day 3のレシピ: 誕生日の確認と通知の送信
ステップ1: TwilioのPython SDKをインストールする
SMS通知を送信するために、TwilioのPythonライブラリが必要です。次のコマンドを実行してインストールします:
Twilioの認証情報(アカウントSID、認証トークン、電話番号)がまだない場合は、Twilioのメッセージングクイックスタートを参照してください。サインアップ、電話番号の購入、必要な詳細を取得する手順があります。
ステップ2: .env
ファイルを更新する
あなたの.envファイルには、データベースの認証情報(2日目のもの)とTwilioの認証情報の両方が含まれている必要があります。Twilioの認証情報、すなわちアカウントSID、認証トークン、およびあなたのTwilio電話番号は、Twilioアカウントダッシュボードにログインすることで見つけることができます。
.env
ファイルを以下のように更新してください:
# データベースの認証情報
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=5432 # Default PostgreSQL port
# Twilioの認証情報
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_FROM=
TWILIO_PHONE_TO=
- プレースホルダーを実際の認証情報に置き換えてください。
- テスト通知を受け取るために、あなたの個人電話番号をTWILIO_PHONE_TOとして追加してください。
プロのヒント: .env
が.gitignore
ファイルに追加されて、センシティブな認証情報がバージョン管理に露出しないようにしてください。
ステップ3: Pythonスクリプトを書く
以下は、今日の誕生日をデータベースから照会し、Twilioを使用してSMS通知を送信する完全なPythonスクリプトです:
ステップ 5: スクリプトをテストする
すべてをテストするためにスクリプトを実行します:
データベースに今日の日付と一致する誕生日があれば、テキストメッセージが届きます。🎉 そうでなければ、スクリプトは単に次のように表示します:
🎁 まとめ
今日達成したことは次のとおりです:
✅ 今日の日付と一致する誕生日のデータベースをクエリしました。
✅ それらの誕生日のためにSMS通知を送信するためにTwilioを使用しました。
✅ すべてを機能するPythonスクリプトに統合しました。
次に: 明日、このスクリプトをDigitalOcean Functionsにデプロイして、クラウドで実行できるようにします—サーバー管理は不要です。ここからバースデーリマインダーサービスが自動的に実行され始めます。お楽しみに!🚀
Source:
https://www.digitalocean.com/community/tutorials/checking-birthdays-and-sending-sms-notifications