Denoのバックエンドを構築する方法は?
このチュートリアルでは、Back4Appを使用してDenoのバックエンドを構築する方法を学びます。
Back4Appの主要機能—データベース、REST API、ユーザー認証、ファイルストレージ、ライブクエリ—をDeno環境に統合するためのすべてのステップを説明します。
RESTエンドポイントを通じてBack4Appと通信し、自分でサーバーを管理することなく完全なインフラを構築する方法を見ていきます。
Back4Appを使用すると、Denoでサーバーを手動で設定する必要がなくなり、時間と労力を節約できます。
Denoの標準ライブラリと現代的なアプローチのおかげで、よりシンプルなコードを書くことに集中できます。
このDenoのバックエンドを構築する方法ガイドの終わりまでに、高度なセキュリティ、クラウドコード、スケジュールされたタスクをDenoアプリケーションに統合するための明確な道筋を持つことができるでしょう。
このチュートリアルを完了すると、サーバーを実行し、REST APIを処理し、ユーザー認証を統合し、ファイルを保存し、タスクを簡単にスケジュールできるようになります。
また、Back4App REST APIを使用してDenoのfetchアプローチでデータを管理する方法も理解できるようになります。
- 基本的なDenoの概念に慣れていること モジュール、ファイルシステム、deno run --allow-net, または標準ライブラリからアプリケーションモジュールをインポートする方法など。
- REST APIの基本的な知識 データ処理のためにfetch呼び出しとヘッダーのコンテンツタイプを使用するので、RESTとJSONの基本を理解していることを確認してください。
始める前に、これらの前提条件を確認してください。Back4Appプロジェクトが設定され、ローカルのDeno環境が稼働していることで、このチュートリアルをスムーズに進めることができます。
あなたのDenoバックエンドの基盤はBack4Appプロジェクトです。まだ作成していない場合は:
- Back4Appアカウントにログイン.
- 「新しいアプリ」ボタンをクリック Back4Appダッシュボードで。
- アプリに名前を付ける(例:「Deno-Backend-Tutorial」)。
プロジェクトが準備できると、Back4Appダッシュボードに表示されます。このプロジェクトでは、データベース、セキュリティ、およびAPIを設定します。
Deno用のParse SDKがないため、Back4AppのREST APIエンドポイントを使用します。アプリのアプリ設定またはセキュリティとキーセクションで、アプリケーションID, REST APIキー, およびサーバーURLを見つけることができます。
このチュートリアル全体を通して、fetchを使用してDenoからBack4Appにリクエストを送信します。各呼び出しにAPIキーとヘッダーのコンテンツタイプを含めることを忘れないでください。
このステップでは、Back4Appでデータモデルを作成し、DenoからREST APIを使用してそれと対話します。
- 「データベース」セクションに移動し、Back4Appダッシュボードで。
- 「新しいクラスを作成」をクリックし、例えば「Todo」と名付けます。
- 関連するカラムを追加(例:title(String)、isCompleted(Boolean))。
データが保存されるときに、Parseがこれらのカラムを自動的に作成することも許可できます。
Back4AppのAIエージェントがスキーマを設計します:
- AIエージェントを開く あなたのBack4Appダッシュボードで。
- データモデルを説明する(例:“タイトル、説明、isCompletedフィールドを持つTodoクラスを作成する。”)。
- エージェントに自動的に スキーマを生成させる。
これにより、より複雑なスキーマを迅速に管理できます。
Denoから、fetchを使ってRESTエンドポイントを呼び出すことでサーバーを実行できます。例えば、Todoを作成するには:
Todoを取得するには:
これを実行できます:
Back4AppはGraphQLエンドポイントも提供しています: https://parseapi.back4app.com/graphql
ライブクエリはリアルタイムで更新されますが、DenoにはネイティブのParse LiveQueryライブラリがありません。それでも、Back4Appダッシュボードで他のクライアント用にライブクエリ機能を設定するか、DenoでWebSocketを使用して手動で購読できます。詳細については、公式の ライブクエリのドキュメントをご覧ください。
Back4AppのACL(アクセス制御リスト)とCLP(クラスレベルの権限)は、データを保護します。CLPを使用して、クラス全体のデフォルトルールを設定します。その後、ACLを使用してオブジェクトレベルの制限を行います。
- データベースを開く セクションをあなたのBack4Appダッシュボードで。
- クラスを選択 (例えば、「Todo」)。
- クラスレベルの権限 タブに移動します。
- 必要に応じて、一般公開または認証されたユーザーのために 読み取り/書き込みアクセスを有効または無効にします。
REST経由でオブジェクトを作成または更新する際に、リクエストボディにACL属性を含めることができます。例えば:
この例では、「Admins」ロールのみが読み取りまたは書き込みを許可されています。一般公開アクセスはオフです。
クラウドコードは、安全なサーバーサイドのロジックを保存する場所です。サーバーを自分で管理する必要はありません。特定のクラスに対してバリデーションやトリガーを追加できます。
クラウド関数(JavaScriptで)を定義し、アプリにデプロイできます。例えば、テキストの長さをチェックする関数は次のようになります:
コードは、Back4App CLIまたは、Back4Appダッシュボードのクラウドコードパネルを通じてデプロイできます。
外部ライブラリをインポートすることができます。require(). デプロイ後、サーバー環境がそれらを実行します。これは高度なタスクに役立ちますが、Denoから実行することは、Back4Appのクラウドコード環境とは別であることを忘れないでください。
Back4Appは、認証のためにParse Userクラスを使用します。Denoを使用している間、ユーザーを管理するためにRESTエンドポイントを呼び出すことができます。
Back4AppでGoogle、Facebook、Apple、その他のプロバイダーを設定できます。その後、OAuthトークンを使用して専用のエンドポイントを呼び出します。詳細については、Back4Appのソーシャルログインドキュメントを参照してください。
Denoからファイルをアップロードするには、https://parseapi.back4app.com/files/<FILENAME>. 例えば:
その結果得られたファイルURLをクラスオブジェクトに保存できます。この方法は、Denoでサーバーを実行している間に画像やドキュメントを保存するのに最適です。
メールを確認することで正当なアクセスが保証されます。パスワードリセットは、ユーザーが安全にアクセスを取り戻すのに役立ちます。
- メール確認を有効にする あなたのBack4Appダッシュボードのメール設定で。
- 確認テンプレートをカスタマイズする
- パスワードリセットを有効にする そして、好みのメールレイアウトを設定します。
ユーザーがサインアップすると、メール認証をオンにしている場合は確認リンクが送信されます。パスワードリセットの場合は、RESTエンドポイントを呼び出します POST /requestPasswordReset.
クラウドジョブは、人間の介入なしに定期的に実行されます。たとえば、古いレコードを毎日削除したり、定期的なメールリマインダーを送信したりできます。
このジョブをデプロイした後、あなたの Back4App ダッシュボードの アプリ設定 > サーバー設定 > バックグラウンドジョブ でスケジュールできます。
ウェブフックは、オブジェクトの作成や更新などのイベントが発生したときにトリガーされるHTTPコールバックです。Slack、Stripe、または任意の外部サービスと統合できます。
- “その他” > “ウェブフック”を開く Back4App ダッシュボードで。
- “ウェブフックを追加”をクリック し、サードパーティサービスのエンドポイントを提供します。
- リクエストを送信したいトリガーまたはクラスを設定します。
これにより、Back4Appでオブジェクトを作成または変更するたびに、外部システムがデータを受信できるようになります。
非技術的なチームは、このパネルを使用してデータを視覚的に管理できます。CRUD操作とデータレビューを簡素化します。
- アプリダッシュボード > その他 > 管理アプリに移動し、「管理アプリを有効にする」を選択します。
- 管理ユーザーを作成してログインします。
- 管理アプリ用のサブドメインを設定します。
その後、管理アプリにログインして、安全にレコードを管理できます。
このチュートリアルでは、Back4App上でDenoのバックエンドを構築する方法を学びました。データモデルを作成し、ユーザー認証を処理し、セキュリティのためのACLとCLPについて学び、クラウドジョブをスケジュールしました。
外部APIをWebhookを介して統合する方法や、deno run --allow-netコマンドを使用してサーバーやREST APIを実行する方法も見ました。
このセットアップにより、手動でファイルシステムやサーバーアーキテクチャの標準ライブラリの複雑さを構成することなく、迅速に開始できます。
次のステップ:
- Denoアプリケーションを拡張し、Cloud Codeを使用して追加のエンドポイントと高度なロジックを実装します。
- より多くのサービスを統合(例:決済ゲートウェイ、分析)し、Back4Appのデータと連携させます。
- Back4Appの公式ドキュメントを参照し、セキュリティ、パフォーマンス、ログ分析のヒントを深く学びます。
- 実験し、リアルタイム機能やdeno kvストレージを活用して、DenoランタイムとBack4Appの堅牢な環境間でデータを橋渡しします。
新しい知識を持って、Back4Appにサポートされた安全でスケーラブル、かつ機能満載のDenoバックエンドを自信を持ってデプロイできます。