https://d226lax1qjow5r.cloudfront.net/blog/blogposts/using-vonage-with-mongodb-atlas-part-1/mongodb_vonage_p1.png

MongoDB AtlasでVonage APIを使う - パート1

最終更新日 April 25, 2023

所要時間:1 分

アプリケーションの開発は難しい。アプリケーション自体の基本要件があるだけでなく、ユーザーをどのように認証するか、データベースをどのように管理するか、これらのすべてをどこでホストするかといった、解決すべき共通の問題が常に存在する。2023年現在、これらの問題を解決してくれるサービスの数にはほとんど事欠かないが、これらすべてをアプリケーションの中にまとめる必要がある。開発者がアプリケーションを素早く構築し、多くの一般的な問題に対処できるように設計された製品群である。

MongoDBアトラスとは?

MongoDB Atlasは、複数のクラウドホスティングプロバイダーが利用できるホステッドクラウドデータベースサービスです。つまり、様々なリージョン、AWS、Azure、Google Cloud Platformにまたがってデータベースをホストし、マルチクラウドの可用性を実現できる。データベースはクラウドでホストされているため、オンデマンドでスケールアップやスケールダウンが可能だ。開発者にとっては、MongoDBがすべてのインフラを管理し、開発者はアプリケーションに集中できるため、より多くのサーバーを処理するための管理時間が大幅に短縮されます。

MongoDB Atlasを使うと、MongoDBクラスタをセットアップできる。MongoDBについてよく知らないかもしれないが、MongoDBは ドキュメントベースの NoSQLデータベースシステムだ。従来のリレーショナルデータベース管理システム(RDMS)とは異なり、MongoDBは情報を検索可能なJSONライクなドキュメントとして保存する。リレーショナル機能は限定的で、表形式の行/列アーキテクチャーよりも、軽く構造化されたデータに重点を置いている。ドキュメントは「コレクション」としてグループ化され、標準的なテーブルアーキテクチャに取って代わります。コレクション内のドキュメントは、RDMSのテーブルのように共通のスキーマを共有できるが、構造を変えることもできる。

{
 "_id": ObjectId("6413733ba623c618c2fab2d9"),
 "name": "Hamburger",
 "price": 995
}

NoSQLデータベースは、その名の通り、情報の問い合わせにSQLを使わない。MongoDBはJSONのようなクエリ構文を使い、条件にマッチするドキュメントを検索する。たとえば SELECT * FROM users WHERE admin = trueのようにする代わりに、次のような構文を使います:

db.users.find({
 admin: {
 $eq: true
 }
})

多くの開発者は、スキーマのないドキュメント設計の自由度から、NoSQLデータベースの使用を好む。新しい "カラム "を新規または既存のドキュメントに追加することでドキュメントに追加できるため、大きな移行はない。必要であればスキーマを定義することもできるが、データベース・エンジンがより大きなデータ・セットの中でデータをフィルタリングするのに役立つだけだ。

MongoDB Atlasには、MongoDBがもたらす堅牢なNoSQLデータベースの上にアプリケーションを構築するために開発者が使える追加機能もいくつかある。これは「App Service」レイヤーの一部で、ユーザー認証、サーバーレス関数ランタイム、関連APIゲートウェイとルーター、自動GraphQLとHTTPSデータアクセス、MongoDB Realmと呼ばれるデバイスデータ同期サービスが追加される。

つまり、開発者はバラバラのサービスをつなぎ合わせることなく、すぐにアプリケーションの開発に取り掛かることができ、ユーザー認証の方法やコードのデプロイ方法について悩むことなく、アプリケーションが解決するビジネス上の問題に集中することができる。AtlasとそのApp Servicesは、開発者にとって重労働の多くを担ってくれる。

どうするつもりなのか?

次の連載では、MongoDB AtlasとVonage通信API群を利用したアプリケーションの構築について説明する。デモアプリケーションは、シンプルなレストランのウェブサイトとそれに関連するバックエンドの形を取ります。ここでは

  • Vonage Verifyとユーザーログインを統合する方法

  • Vonageメッセージを使って注文確認を送信する方法

  • 問題解決のためのVonage Meetingsの使い方

  • In-Appメッセージングを使用して「管理者」ユーザーに通知を戻す方法

また、開発者のセットアップもお手伝いします:

  • MongoDB Atlasクラスタと関連するApp Service

  • フロントエンドアプリが Realm 経由で MongoDB Atlas とやり取りできるようにする

  • MongoDB ユーザーによるユーザー認証

どのように動作するかは追って説明していくが、アプリケーションのソースコードをざっと見るには GitHubのソースコード.

前提条件

Vonageアプリケーションのセットアップ

当社のMessages、Verify、およびIn-App Messaging APIはすべて、グループ化可能な設定データのセットであるVonage Applicationによって支えられています。開発者アカウントにサインインしたら、Applicationsページに行き、新しいアプリケーションを作成します。 新しいアプリケーションを作成します。.アプリケーションには、次のような名前をつけます。 MongoDB デモのような名前をつけて 公開鍵と秘密鍵を生成する.これで SDK で使う認証キーが作成されます。

Creating a Vonage applicationName and Secret Keys

さて、下にスクロールして、いくつかの異なる能力を回すことができる。必要なのは メッセージ, RTC (In-App Voice & Messaging)、RTC (In-App Voice & Messaging)、RTC (In-App Voice & Messaging)、RTC (In-App Voice & Messaging)、RTC (In-App Voice & Messaging)、RTC (In-App Voice & Messaging)。そして Meetings API.それぞれの機能をオンに切り替えます。 メッセージおよび RTCにはコールバックURLがいくつか必要だが、今は利用しない。 https://example.comを入力してください。 ミーティングは空白のままでよい。すべて完了したら、"Generate new application "をクリックする。

Messages API CapabilityMessages API Capability

RTC API CapabilityRTC API Capability

Meetings API CapabilityMeetings API Capability

私たちは メッセージAPIを使うので、アプリケーションに電話番号をリンクする必要がある。これは後でSMSを送信するために使用します。デベロッパーアカウントにはすでに電話番号が登録されているはずなので、"Link "ボタンをクリックして、このアプリケーションに電話番号をリンクしてください。

MongoDBアトラスのセットアップ

Vonage 側ができたので、MongoDB Atlas でデータベースをセットアップしましょう。アカウントに最初にログインすると、データベースをデプロイするように促されます。これはホスティングプランなので、ホスティング情報を設定しなければなりません。ありがたいことに、MongoDB Atlasシステムには非常に寛大な無料層があります。以下のように M0を選んでください。これは、デモのために遊んでみるには十分強力だ。他に必要なのは 名前を追加することです。このデモでは、単に VonageDemo.必要であれば、ホスティング・プロバイダーやリージョンを変更することもできますが、今はデフォルトの "AWS" と "N. Virgina (us-east-1)" のままにしておいてください。Virgina (us-east-1) "のままでよい。をクリックします。 をクリックしてをクリックして次に進む。

Database Cluster SettingsDatabase Cluster Settings

インターネット経由でMongoDBクラスタにアクセスするので、認証を設定する必要があります。使うのは ユーザー名とパスワード認証を使います。ユーザー名とパスワードがあらかじめ入力されています。自由に変更してください。パスワードはメモしておきましょう。MongoDB を認証するときに必要になります。入力が終わったら ユーザーを作成.

MongoDB Cluster AuthenticationMongoDB Cluster Authentication

セキュリティ上の理由から、MongoDB Atlas はクラスタと会話できる人を制限しています。デモでは ローカル環境.デモのサーバーコンポーネントはクラスタに直接接続するので、クラスタへのアクセスを許可する必要があります。デフォルトでは、パブリックIPアドレスがリストに追加されます。ローカルでデモを実行する場合はこれでよいのですが、公開サーバーにデプロイする場合は、そのサーバーのIPアドレスを追加する必要があります。他のマシンでサーバーをホストしている場合は、ホスティングプロバイダーにパブリックIPアドレスを確認してください。AWSやGoogle Cloud Platformのようなクラウドプロバイダーでデモをホストしている場合は、次のように選択できます。 クラウド環境を選択し、適切な詳細を入力します。をクリックします。 終了して閉じるをクリックして終了します。

MongoDB Security SettingsMongoDB Security Settings

これで MongoDB Atlas クラスタのセットアップはすべて完了です!ブラウザからクラスタを管理することができます。ダッシュボードには MongoDB VSCode プラグインを使って IDE から直接データベースにアクセスする方法もあります。

MongoDB DashboardMongoDB Dashboard

次のステップ

次のパートでは、MongoDB クラスタにサンプルデータを追加し、デモアプリケーションの実行設定を説明します。それまでは、MongoDB Atlas のダッシュボードと Vonage のダッシュボードを動き回って、両社が提供するさまざまなサービスを見てください。

シェア:

https://a.storyblok.com/f/270183/384x384/3bc39cbd62/christankersley.png
Chris Tankersleyデベロッパー・リレーションズ・ツーリング・マネージャー

クリスはデベロッパー・リレーションズ・ツーリング・マネージャーで、お気に入りのツールを開発するチームを率いています。彼は15年以上、クライアントワークからビッグデータ、大規模システムに至るまで、様々な言語と種類のプロジェクトでプログラミングをしてきました。オハイオ州に住み、家族と過ごしたり、ビデオゲームやTTRPGゲームをしたりしている。