0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MongoDB Atlasの機能でGraphQLを設定

Last updated at Posted at 2023-05-06

はじめに

MongoDB Atlasは、クラウドベースのフルマネージド型のデータベースサービスで様々な機能を持っている。そのなかに、GraphQL APIの機能があり、最小限の設定をしてみた。ここでは、GraphQL簡単な設定のみを行い、外部からのアクセスについては別に記載する。

GraphQLサービスの構築

まず、MongoDB Atlas上にアプリケーションを作成し、その後作成済みのDBとCollection(以下、WebCam)にたいしてGrpahQLの設定を行う。

アプリケーションの作成

MongoDB Atlas上にGraphQL用のアプリケーションを作成する。

  1. 上部のメニューから「App Services」を選択。
    image.png

  2. 初めてアプリケーションを作成する場合、テンプレートを選択するポップアップ画面が表示されるので「Build your own App」を選択し、「next」を押下。(すでにアプリケーションを作成したことがある場合、ポップアップ画面は表示されない。)
    image.png

  3. 切り替わった画面において、以下の3項目を指定して「Create App Service」を押下

  • 使用するデータソースをドロップダウンリストから選択
  • アプリケーション名の記入
  • デプロイモデルを選択
    ※アプリケーション名は、後から変更することができない。

image.png

  1. 再度「App Services」を上部のメニューから選択すると、作成したアプリケーションが表示されているので、アプリ右上のボタンから「Change Environment」を選択してGraphQLの設定を行う。
    image.png

GraphQLの設定

作成したアプリケーションにGraphQLの設定を行う。
作成済みのコレクションのデータのスキーマを作成したのちにデプロイを実施する。

スキーマの作成

MongoDB Atlasの機能で、Collectionに登録されているデータからスキーマを作成することができる。

  1. 左側ペインのメニューからGraphQLのリンクを選択し、選択後、右側のペインに表示された「Generate JSON Schema」ボタンを押下
    image.png

  2. 切り替わった画面の真ん中のペインで、スキーマを作成するコレクションのリンクを選択(以下では、WebCam)。
    選択後、右側のペインに「Define a Schema」ボタンが表示されるのでボタンを押下する。
    image.png

  3. 切り替わった画面から、「Generate schema from sampling」を押下すると、登録されているデータをもとに、MongoDB Atlasの機能によりスキーマが生成される。
    image.png

  4. スキーマが作成されたのを確認して、「Save Draft」を押下。Draftの保存だけではアプリケーションに反映はされないので、以後のDeployが必要。
    image.png

  5. 画面上部の 「Review Draft & Deploy」ボタンを押下する
    image.png

  6. 表示されたポップアップ画面下部の「Deploy」ボタンを押下する。
    image.png

デプロイに成功した場合、画面上部にメッセージが出力される。
image.png

設定の確認

左側ペインのメニューから再度GraphQLを選択する。

上部には、GraphQLのエンドポイントのURLが表示される。
image.png

また、queryのテスト画面が作成され、実際にGraphQL用のqueryを作成して実行することで結果を確認することができる。

image.png

おわりに

エンドポイントは作成されているものの、外部からのアクセスのためには、データアクセスのルールと認証の設定が必要。MongoDB Atlas自体は高機能だと思うがいろいろ機能がありすぎて使いこなせる気がしない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?